SlideShare una empresa de Scribd logo
Procesamiento de señales, imágenes y visión artificial con MatLab “ Quien no se resuelve a cultivar el hábito de pensar, se pierde el mayor placer de la vida” Thomas A. Edison
EFECTO DE UN  SLI  SOBRE LA ENTRADA FILTROS DIGITALES
GENERALIZACIÓN PARA SISTEMAS DISCRETOS: Asumiendo  a(1) = 1   Ecuación en diferencias para un  SLI .  Salida = f ( entradas actual y pasadas ,  salidas pasadas ) Qué efecto produce un SLI sobre una entrada X[n] ?
Ejercicio:  Encuentre la señal de salida de los SLI’s  (a) y (b). Utilizar como entrada una señal sinusoidal  de 3 Hz con ruido Señal + ruido a)  y[n]=0.9*y[n-1]+0.1*x[n]; b)  y [n] =0.9*y [n-1] +0.05*x [n] +0.05*x [n-1] ; Para responder, hagamos el siguiente ejercicio: Como observamos, la salida del  Sistema, es decir la respuesta del  Mismo depende directamente De la señal de entrada
EN LAS SIGUIENTES DIAPOSITIVAS SE PRESENTA LA SOLUCION  AL PROBLEMA PLANTEADO Señal + ruido
PRIMER PASO
CODIGO DE IMPLEMENTACIÒN clear all close all Fs = 100; t = 0:1/Fs:1; x = sin(2*pi*t* 3 )+.25*rand*sin(2*pi*t*40); % señal + ruido plot(t,x) y(1)=x(1); % condición inicial para el lazo de abajo for  i=2:length(t) y(i)=0.9*y(i-1)+0.1*x(i); end plot(t,x) hold on plot(t,y) RESULTADO La grafica; nos muestra la señal  Original (un tono mas ruido); Y la señal resultante. Nota:  la señal resultante tendrá; una menor Amplitud; y un periodo relativamente menor a)  y[n]=0.9*y[n-1]+0.1*x[n];
b)  y[n]=0.9*y[n-1]+0.05*x[n]+0.05*x[n-1]; CODIGO DE IMPLEMENTACIÒN Fs = 100; t = 0:1/Fs:1; x = sin(2*pi*t*3)+.25*rand*sin(2*pi*t*40); % señal + ruido plot(t,x) % condiciones iniciales para el lazo de abajo y(1)=x(1); y(2)=x(2); for i=3:length(t) y(i)=0.9*y(i-1)+0.05*x(i)+0.05*x(i-1); end plot(t,x,t,y) La grafica; nos muestra la señal  Original (un tono mas ruido); Y la señal resultante. RESULTADO Nota:  la señal resultante tendrá; una menor Amplitud; y un periodo relativamente menor
CONCLUSION: Los anteriores SLI están “suavizando” a la entrada. Entonces: El SLI está actuando  como un filtro digital ….  Para tener un filtro digital, solo se requiere de los coeficientes.
GENERALIZACIÓN DE UN SISTEMA DISCRETO VISTO COMO FILTRO DIGITAL: Asumiendo  a(1) = 1  Salida = f ( entradas actual y pasadas ,  salidas pasadas ) Cálculo de la salida, asumiendo condiciones iniciales = 0: En matlab, esto es computado por la función FILTER
LA FUNCIÓN  FILTER: hace la función del lazo  “ f or”   que vimos en la resolución de los problemas antes planteados. Si se desea filtrar la señal X a través de un filtro de coeficientes A y B, se utiliza la función FILTER. A la salida se tiene la señal filtrada Y: A = [a1 a2 ... an]; B = [b1 b2 ... bn] Y =  filter  (B, A, X) Y =  filter  (B, A, X,  C.I ) FILTER: Dados A, B y X: Obtiene la salida Y
FILTROS EN MATLAB: En matlab se pueden construir filtros tanto digitales como analógicos: 1. Filtros digitales:  tenemos filtros  FIR e IIR  y se los construye por medio de un gráfico frecuencia-ganancia.  f  is a vector of frequency points, specified in the range between 0 and 1, where 1 corresponds to half the sample frequency (the Nyquist frequency). The first point of f must be 0 and the last point 1, with all intermediate points in increasing order. Duplicate frequency points are allowed, corresponding to steps in the frequency response. m  is a vector containing the desired magnitude response at the points specified in f.
2. Filtros analógicos:  tenemos filtros a) Máximamente planos o sin rizados (Butterworth), b) Con rizado en la banda de paso (Chevyshev I), c) Con rizado en la banda de supresión(Chevyshev II), d) Con rizado tanto en la banda de paso como en la de supresión (Elíptico).
FILTROS IIR: Filtro IIR digital: función yulewalk  [b,a] = yulewalk (n,f,m);  %  Yule–Walker IIR Filter Fase 3: salida del filtro utilizando los coeficientes calculados anteriormente: x_filt=filter(b,a,x);  % x: la señal a filtrar ; b,a: los coeficientes del filtro FUNCIONES DE MATLAB PARA EL DISEÑO DE FILTROS  DIGITALES
Obtiene los coef. A y B al resolver las ecuaciones modificadas de Yule-Walker n: orden del filtro F: vector  [fo  f1  f2  ...  Fmax] / Fmax;  Fmax =  fs / 2 M: vector [mo  m1  m2  ...  m]  (ganancia) Cálculo de coeficientes: DISEÑO DE FILTROS  IIR digitales Es importante recordar que los vectores M y F deben tener la  misma longitud
Cuál es la respuesta en frecuencia  real  del filtro obtenido??? : FREQZ: Da la respuesta en frecuencia evaluada en N puntos (defecto:512) equiespaciados de la mitad superior del círculo unidad Fs: frec. muestreo Freqz (B, A, N, Fs):   Grafica el (módulo y la fase) vs frecuencia
Diseñe un filtro multibanda con yulewalk y grafique la respuesta de frecuencia deseada y real. Ejercicio:
Diseñe un filtro multibanda con yulewalk y grafique la respuesta de frecuencia deseada y real. m = [0 0 1 1 0 0 1 1 0 0]; f = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1]; [b,a] = yulewalk(10,f,m); [h,w] = freqz(b,a,128); plot(f,m,w/pi,abs(h)) title('Respuestas ideal y real (magnitud: escala lineal)') Figure % Respuesta en frecuencia: % Diagrama de Bode % (respuesta en magnitud y en fase): %ver respuesta en frecuencia en 128 puntos freqz(b,a,128); %Obs:  la frec. Está normalizada title(‘Diagrama de Bode(magnitud: escala en dB)') % Obs: respuesta en fase: No Lineal Resolución: Es importante no olvidar que, en este par de vectores solo es necesario indicar los puntos críticos de la señal que filtaremos
Diagrama de Bode: % Obs: respuesta en módulo: Filtro multibanda % Obs: respuesta en fase: No Lineal
Ejemplo: aisle cada uno de los tres tonos de la señal dada.
PRIMER PASO CALULO DEL ESPECTRO DE LA SEÑAL CODIGO DE IMPLEMENTACIÒN clear all;close all;clc; Fmax=140; fs=2.1*Fmax; t=0:1/fs:5; x=sin(2*pi*t*100)+sin(2*pi*t*120)+sin(2*pi*t*140); nFFT=1024; LongVentana= nFFT/4; Solapamiento =LongVentana/2; [P_welch_BB,F_welch_BB] = pwelch(x,LongVentana,Solapamiento,nFFT,fs); subplot(4,1,1) plot(F_welch_BB,P_welch_BB,'r') El encontrar de manera grafica el espectro de la señal permitirá al usuario notar el tamaño de los vectores para, poder realizar el filtrado pertinente Ver grafico 1
SEGUNDO PASO FILTADO DE CADA TONO % 1. Filtrado del primer tono: orden=25; f1=[0 100 105 110 140]/Fmax; m1=[1 1 1 0 0]; [b1,a1]=yulewalk(orden,f1,m1); senial_filtrada_uno=filter(b1,a1,x); %espectro senal filtrada: [P_welch_BB_filt,F_welch_BB_filt] = pwelch(senial_filtrada_uno,LongVentana,Solapamiento,nFFT,fs); subplot(4,1,2) plot(F_welch_BB_filt,P_welch_BB_filt,'r') % 2. Filtrado del segundo tono: f1=[0 110 115 120 125 130 140]/Fmax; m1=[0 0 1 1 1 0 0]; [b1,a1]=yulewalk(orden,f1,m1); senial_filtrada_dos=filter(b1,a1,x); El filtrado de cada tono permitirá aislar; a cada uno de estos del resto de señal. Y para poder comprobar que lo que realizamos es cierto extraemos el espectro de cada señal filtrada Ver grafico 2
%espectro senal filtrada: [P_welch_BB_filt,F_welch_BB_filt] = pwelch(senial_filtrada_dos,LongVentana,Solapamiento,nFFT,fs); subplot(4,1,3) plot(F_welch_BB_filt,P_welch_BB_filt,'r') % 3. Filtrado del tercer tono: f1=[0 110 115 120 125 130 140]/Fmax; m1=[0 0 0 0 0 1 1]; [b1,a1]=yulewalk(orden,f1,m1); senial_filtrada_tres=filter(b1,a1,x); %espectro senal filtrada: [P_welch_BB_filt,F_welch_BB_filt] = pwelch(senial_filtrada_tres,LongVentana,Solapamiento,nFFT,fs); subplot(4,1,4) plot(F_welch_BB_filt,P_welch_BB_filt,'r')
Resultados: Grafico 1 Grafico 2 Primer tono Grafico 2 segundo tono Grafico 2 tercer tono
FIR:  Filtro digital (solo desde fase 2): Fase 1: se conoce ya el orden del filtro (n) Fase 2: cálculo de los coeficientes: utilizar las siguientes posiblidades según el caso: b = fir1 (n, wn, type, ventana);  % n = orden del filtro; wn= vector de frecuencias normalizado, type= high (pasa alta), stop (elimina banda) % ventana = blackman, hamming, hanning, etc) b = fir2 (n, f, A, ventana);   % n = orden del filtro; f = vector normalizado de frecuencias; A = vector normalizado de ganancias b = remez (n, f, A);  % CASI SIMILAR AL FIR2 %  n = orden del filtro; f = vector normalizado de frecuencias; A = vector normalizado de ganancias Fase 3: salida del filtro utilizando el coeficiente calculado anteriormente: x_filt=filter(b, 1 ,x);  % x: la señal a filtrar ; b, a=1 : los coeficientes del filtro FILTROS  DIGITALES TIPO FIR: Ventaja : son de fase lineal.  Desventaja : requieren orden MAYOR que los IIR
% Diseñe un filtro pasa banda entre  5 y 15 Hz. % Asuma una frecuencia de muestreo de  100 Hz. % Orden del filtro = 128 % clear all; close all; fs = 100; % frecuencia de muestreo  Fmax  = fs/2; order = 128; % Orden del filtro wn = [5 15]/ Fmax; % vector de ftrecuencias b =  fir1 (order,wn); % diseño del filtro FIR, % Respuesta en frecuencia: % Diagrama de Bode freqz(b,1,512,100); % Plot modulo de h: [h,freq] = freqz(b,1,512,100);  figure plot(freq,abs(h),'k');  xlabel('Frecuencia (Hz)'); ylabel('H(f)'); figure plot(freq,20*log10(abs(h)),'k');  xlabel('Frecuencia (Hz)'); ylabel('H(f) en dB'); EJEMPLO  FILTROS FIR: usando  FIR1
DISEÑO DE UN FILTRO FIR (USANDO FIR2) DE ORDEN 12 Y SU RESPUESTA EN FRECUENCIA % EJEMPLO  FILTROS FIR: usando FIR2 close all; clear all; n = 12;  % orden f = [0 .25 .25 .6 .6 1]; % respuesta de frecuencia m = [0 0 1 1 0 0]; b1 =  fir2 (n,f,m);  % FIR rectangular window filter h1 = freqz(b1,1,256); plot(f,m,'k');    % Plot: respuesta ideal  hold on w = (1:256)/256; plot(w,abs(h1),':r');  % Plot:  FIR filter xlabel(' Frequencia Relativa'); title('FIR utilizando FIR2') legend('ideal','FIR') En este tipo de filtros es necesario recordar que, mientras mayor es el orden del filtro mejor calidad  tendrá, es decir, mas vertical será la caída, pero no olvidar que eso requiere de mejor hardware
OTRAS FUNCIONES DE MATLAB PARA FILTROS  FIR Cálculo de coeficientes: Ventaja : son de fase lineal.  Desventaja : requieren orden MAYOR que los IIR FASE 1
COMPARACIÓN:   FILTROS  IIR (YULEWALK) Y FIR (FIR2)  Y SU RESPUESTA EN FRECUENCIA close all; clear all; n = 12;  % orden f = [0 .25 .25 .6 .6 1]; % respuesta de frecuencia m = [0 0 1 1 0 0]; [b,a] =  yulewalk (n,f,m); %  Yule–Walker IIR Filter h = freqz(b,a,256); b1 =  fir2 (n,f,m);  % FIR rectangular window filter h1 = freqz(b1,1,256); plot(f,m,'k');  % Plot: respuesta ideal  hold on w = (1:256)/256; plot(w,abs(h),'--b');  % Plot: Yule-Walker filter hold on plot(w,abs(h1),':r');  % Plot:  FIR filter xlabel(' Frequencia Relativa'); title(‘Comparación entre IIR y FIR del mismo orden') legend('ideal','IIR','FIR') %CONCLUSIÓN: %FIR requieren orden MAYOR que los IIR
% Obtenemos la señal original (estereo): %archivo original: [y_original,Fs,format] = wavread('ArjonaOriginal'); size(y_original)  %2 canales (estereo): 569039 filas por 2columnas plot(y_original)  % se verifica dos señales diferentes title('señal original (estereo)') % sound(y_original,Fs) canal_izquierdo_original=y_original(:,1);%extraemos 1 solo canal size(canal_izquierdo_original) %569039 filas por 1 columnas figure plot(canal_izquierdo_original) title('señal original canal izquierdo') %quitar todos los plots %sound(canal_izquierdo_original,Fs) % si reproduce  El código implementado nos permite extraer canciones para realizar el trabajo. Como la señal es estereo solo usamos un canal Es aconsejable usar tonos pequeños de canciones para no hacer muy lento el procesamiento  Aplicación a un audio: FILTAR UNA CANCIÓN USANDO UN FILTRO FIR PRIMER PASO EXTRACCION DE LAS CANCIONES
SEGUNDO PASO EXTRACCION DEL ESPECTRO DE LAS SEÑALES nFFT=1024; LongVentana= nFFT/2; Solapamiento =nFFT/4; %Espectro de potencias: % LA FUNCIÓN DE MATLAB pwelch: %[P_welch,F_welch] = pwelch(canal_izquierdo,LongVentanaHanning,MuestrasTraslapadas,nFFT,fs); [P_welch_original,F_welch_original] = pwelch(canal_izquierdo_original,LongVentana,Solapamiento,nFFT,Fs); P_welch_norm_original=P_welch_original/max(P_welch_original); figure plot(F_welch_original,P_welch_original) grid on order = 128; % Orden del filtro Fmax = Fs/2; wn = [5 3000]/ Fmax; % vector de ftrecuencias b = fir1(order,wn); % diseño del filtro FIR, A mas de encontrar el espectro de frecuencias, tambien configuramos el filtro que vamos a usar.
cancion_filtrada = filter (b,1,canal_izquierdo_original); %Espectro de potencias: % LA FUNCIÓN DE MATLAB pwelch: %[P_welch,F_welch] = pwelch(canal_izquierdo,LongVentanaHanning,MuestrasTraslapadas,nFFT,fs); [P_welch_filtrada,F_welch_filtrada] = pwelch(cancion_filtrada,LongVentana,Solapamiento,nFFT,Fs); P_welch_norm_filtrada=P_welch_filtrada/max(P_welch_filtrada); figure plot(F_welch_filtrada,P_welch_filtrada) grid on figure plot(F_welch_original,P_welch_norm_original) hold on plot(F_welch_filtrada,P_welch_norm_filtrada,'r:') grid on %sound(y_original,Fs) sound(cancion_filtrada,Fs) TERCER PASO COMPARACION DE LOS DOS TIPOS DE FILTRO
CON FASE 1: incluye la determinación del orden del filtro SIN FASE 1: se supone ya conocido el orden del filtro FUNCIONES DE MATLAB PARA EL DISEÑO DE FILTROS  ANALÓGICOS
% Example:  sin fase 1: % Plot the frequency response curves  % (in db) obtained from % an 8th-order lowpass filter using the Butterworth,  %Chebyshev Type I and II, and % elliptic filters. Use a cutoff frequency of 200 Hz and  % assume a sampling frequency % of 2 kHz. For all filters, the passband ripple should  % be less than 3 db % and the minimum stopband attenuation should be 60 db. % Frequency response of four 8th-order lowpass filters % N = 256; % Spectrum number of points fs = 2000; % Sampling filter n = 8; % Filter order wn = 200/fs/2; % Filter cutoff frequency rp = 3; % Maximum passband ripple in db rs = 60; % Stopband attenuation in db % % %Butterworth [b,a] = butter(n,wn); % Determine filter coefficients [h,f] = freqz(b,a,N,fs); % Determine filter spectrum subplot(2,2,1); h = 20*log10(abs(h)); % Convert to db semilogx(f,h,'k'); % Plot on semilog scale %axis([100 1000 -80 10]); % Adjust axis for better visi- % bility xlabel('Frequency (Hz)'); ylabel('X(f)(db)'); title('Butterworth'); % %Chebyshev Type I [b,a] = cheby1(n,rp,wn); % Determine filter coefficients [h,f] = freqz(b,a,N,fs); % Determine filter spectrum subplot(2,2,2); h = 20*log10(abs(h)); % Convert to db semilogx(f,h,'k'); % Plot on semilog scale %axis([100 1000 -80 10]); % Adjust axis for better visibility xlabel('Frequency (Hz)'); ylabel('X(f)(db)'); title('Chebyshev I'); % % Chebyshev Type II [b,a] = cheby2(n,rs,wn); % Determine filter coefficients [h,f] = freqz(b,a,N,fs); % Determine filter spectrum subplot(2,2,3); h = 20*log10(abs(h)); % Convert to db semilogx(f,h,'k'); % Plot on semilog scale %axis([100 1000 -80 10]); % Adjust axis for better visi- % bility xlabel('Frequency (Hz)'); ylabel('X(f)(db)'); title('Chebyshev II'); % Elliptic [b,a] = ellip(n,rp,rs,wn); % Determine filter coefficients [h,f] = freqz(b,a,N,fs); % Determine filter spectrum subplot(2,2,4); h = 20*log10(abs(h)); % Convert to db semilogx(f,h,'k'); % Plot on semilog scale %axis([100 1000 -80 10]); % Adjust axis for better visi- % bility xlabel('Frequency (Hz)'); ylabel('X(f)(db)'); title('Elliptic');
Ejemplo de filtros analógicos: Ver ppt adicional sobre diseño de filtros
DEBERES : entrenamiento final previo a simulación en comunicaciones. Fecha de entrega : martes 23 de marzo 2010 a las 7 am  en punto .  Nota 1 : El deber se debe entregar en grupos de 2 y en cd (puesto nombres). Nota 2 : No se aceptarán trabajos si no están hecho paso a paso y con todas las reglas ya expuestas en clase. Leer un archivo .wav y filtrarlo con filtros pasa bajas, pasa banda y pasa altas. Utilice  tanto filtros  digitales  FIR como IIF. Realice un informe de lo que escuchó en cada caso. Las frecuencias de corte las decide ud. Genere un tono de 5 segundos de 500 Hz, seguido por un tiempo de silencia de 3 segundos y luego un tono de 1000 Hz de 4 segundos. Realice el análisis espectral por medio de la técnica de Welch. Ahora invierta el orden de los dos tonos de 500 y 1000 Hz y vuelva a realizar el análisis espectral y concluya qué pasa con la información entregada por dicho análisis espectral en ambos casos. Ahora utilice una técnica  tiempo –frecuencia  para analizar ambos casos y verificar que ahora sí que este método nos permite diferenciar las dos secuencias.

Más contenido relacionado

DOCX
Trabajo dsp Filtro de Butterworth
PDF
Procesamiento digital de señales con matlab
DOC
Practica1m
PPSX
filtro FIR pasabanda con MATLAB
PPT
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PPT
2 epn señales y efectos falta con y sin gui
PDF
Muestreo y cuantificación de una señal analógica con MatLab
PDF
Lab 06 - Analisis de señales - UNTECS
Trabajo dsp Filtro de Butterworth
Procesamiento digital de señales con matlab
Practica1m
filtro FIR pasabanda con MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
2 epn señales y efectos falta con y sin gui
Muestreo y cuantificación de una señal analógica con MatLab
Lab 06 - Analisis de señales - UNTECS

La actualidad más candente (20)

PDF
Lab 02 - Análisis de señales - UNTECS
PPT
TRANSFORMADA DISCRETA DE FOURIER
PPT
Imagen Filtrado Frecuencial
PPTX
Mat lab manipulación de señales de audio
PDF
Tema6 t fourier
DOCX
Transformada de hilbert
PPT
Lecture 5 formateo de señales analógicas
DOCX
Prácticas tc.docx_
DOCX
Transformada de Fourier
PDF
PPT
Lecture 15 probabilidad de error y ber en señales bandabase binaria
PDF
Solución ejercicios 9 12
PDF
Lab 03 - Análisis de Señales - UNTECS
DOC
Analisis De La Transformada De Fourier En Matlab
PDF
Transformada de Fourier
PDF
Utp pds_l5_transformada discreta de fourier
DOCX
Transformada discreta de fourier en imagenes
PDF
Problemas resueltoscap4
PPT
Lecture 14 modulacion digital parte 2
PDF
Sa fourier con matlab
Lab 02 - Análisis de señales - UNTECS
TRANSFORMADA DISCRETA DE FOURIER
Imagen Filtrado Frecuencial
Mat lab manipulación de señales de audio
Tema6 t fourier
Transformada de hilbert
Lecture 5 formateo de señales analógicas
Prácticas tc.docx_
Transformada de Fourier
Lecture 15 probabilidad de error y ber en señales bandabase binaria
Solución ejercicios 9 12
Lab 03 - Análisis de Señales - UNTECS
Analisis De La Transformada De Fourier En Matlab
Transformada de Fourier
Utp pds_l5_transformada discreta de fourier
Transformada discreta de fourier en imagenes
Problemas resueltoscap4
Lecture 14 modulacion digital parte 2
Sa fourier con matlab
Publicidad

Similar a epn filtros (20)

PDF
Dsp2 filtros
PDF
Utp pds_l5_transformada discreta de fourier
PDF
tema 3-2 Algoritmos de realce.pdf
PDF
Utp pds_l5_transformada discreta de fourier_
PPTX
Explicacion de Procesamiento digital de señales.pptx
PDF
Analissis espectral
PDF
DOCX
Practica no. 1 espectros de frecuencia
PDF
Problemas resueltoscap4
PDF
Utp pds_s7y8_dft y fft
PDF
Procesamiento Digital de Señales, Filtros
DOC
DOCX
Lab 2 tele
DOCX
EJERCICIOS 4 Análisis de señales.docx
PDF
Fundamentos_de_Telecomunicaciones_Utiliz.pdf
DOC
Fourier
PDF
Utp pds_s11_filtros [modo de compatibilidad]
PDF
Sistemas de comunicaciones - Práctica 03
PDF
laboratorio1 de diniz
PDF
Clase del jueves 24 de abril de 2014
Dsp2 filtros
Utp pds_l5_transformada discreta de fourier
tema 3-2 Algoritmos de realce.pdf
Utp pds_l5_transformada discreta de fourier_
Explicacion de Procesamiento digital de señales.pptx
Analissis espectral
Practica no. 1 espectros de frecuencia
Problemas resueltoscap4
Utp pds_s7y8_dft y fft
Procesamiento Digital de Señales, Filtros
Lab 2 tele
EJERCICIOS 4 Análisis de señales.docx
Fundamentos_de_Telecomunicaciones_Utiliz.pdf
Fourier
Utp pds_s11_filtros [modo de compatibilidad]
Sistemas de comunicaciones - Práctica 03
laboratorio1 de diniz
Clase del jueves 24 de abril de 2014
Publicidad

Último (20)

PDF
EL aprendizaje adaptativo bajo STEM+H.pdf
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PPTX
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
DOCX
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
PDF
Introducción a la historia de la filosofía
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
EL aprendizaje adaptativo bajo STEM+H.pdf
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
Doctrina 1 Soteriologuia y sus diferente
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
informe tipos de Informatica perfiles profesionales _pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
Presentación de la Cetoacidosis diabetica.pptx
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
2.0 Introduccion a processing, y como obtenerlo
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
Introducción a la historia de la filosofía
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
TOMO II - LITERATURA.pd plusenmas ultras
Ernst Cassirer - Antropologia Filosofica.pdf

epn filtros

  • 1. Procesamiento de señales, imágenes y visión artificial con MatLab “ Quien no se resuelve a cultivar el hábito de pensar, se pierde el mayor placer de la vida” Thomas A. Edison
  • 2. EFECTO DE UN SLI SOBRE LA ENTRADA FILTROS DIGITALES
  • 3. GENERALIZACIÓN PARA SISTEMAS DISCRETOS: Asumiendo a(1) = 1 Ecuación en diferencias para un SLI . Salida = f ( entradas actual y pasadas , salidas pasadas ) Qué efecto produce un SLI sobre una entrada X[n] ?
  • 4. Ejercicio: Encuentre la señal de salida de los SLI’s (a) y (b). Utilizar como entrada una señal sinusoidal de 3 Hz con ruido Señal + ruido a) y[n]=0.9*y[n-1]+0.1*x[n]; b) y [n] =0.9*y [n-1] +0.05*x [n] +0.05*x [n-1] ; Para responder, hagamos el siguiente ejercicio: Como observamos, la salida del Sistema, es decir la respuesta del Mismo depende directamente De la señal de entrada
  • 5. EN LAS SIGUIENTES DIAPOSITIVAS SE PRESENTA LA SOLUCION AL PROBLEMA PLANTEADO Señal + ruido
  • 7. CODIGO DE IMPLEMENTACIÒN clear all close all Fs = 100; t = 0:1/Fs:1; x = sin(2*pi*t* 3 )+.25*rand*sin(2*pi*t*40); % señal + ruido plot(t,x) y(1)=x(1); % condición inicial para el lazo de abajo for i=2:length(t) y(i)=0.9*y(i-1)+0.1*x(i); end plot(t,x) hold on plot(t,y) RESULTADO La grafica; nos muestra la señal Original (un tono mas ruido); Y la señal resultante. Nota: la señal resultante tendrá; una menor Amplitud; y un periodo relativamente menor a) y[n]=0.9*y[n-1]+0.1*x[n];
  • 8. b) y[n]=0.9*y[n-1]+0.05*x[n]+0.05*x[n-1]; CODIGO DE IMPLEMENTACIÒN Fs = 100; t = 0:1/Fs:1; x = sin(2*pi*t*3)+.25*rand*sin(2*pi*t*40); % señal + ruido plot(t,x) % condiciones iniciales para el lazo de abajo y(1)=x(1); y(2)=x(2); for i=3:length(t) y(i)=0.9*y(i-1)+0.05*x(i)+0.05*x(i-1); end plot(t,x,t,y) La grafica; nos muestra la señal Original (un tono mas ruido); Y la señal resultante. RESULTADO Nota: la señal resultante tendrá; una menor Amplitud; y un periodo relativamente menor
  • 9. CONCLUSION: Los anteriores SLI están “suavizando” a la entrada. Entonces: El SLI está actuando como un filtro digital …. Para tener un filtro digital, solo se requiere de los coeficientes.
  • 10. GENERALIZACIÓN DE UN SISTEMA DISCRETO VISTO COMO FILTRO DIGITAL: Asumiendo a(1) = 1 Salida = f ( entradas actual y pasadas , salidas pasadas ) Cálculo de la salida, asumiendo condiciones iniciales = 0: En matlab, esto es computado por la función FILTER
  • 11. LA FUNCIÓN FILTER: hace la función del lazo “ f or” que vimos en la resolución de los problemas antes planteados. Si se desea filtrar la señal X a través de un filtro de coeficientes A y B, se utiliza la función FILTER. A la salida se tiene la señal filtrada Y: A = [a1 a2 ... an]; B = [b1 b2 ... bn] Y = filter (B, A, X) Y = filter (B, A, X, C.I ) FILTER: Dados A, B y X: Obtiene la salida Y
  • 12. FILTROS EN MATLAB: En matlab se pueden construir filtros tanto digitales como analógicos: 1. Filtros digitales: tenemos filtros FIR e IIR y se los construye por medio de un gráfico frecuencia-ganancia. f is a vector of frequency points, specified in the range between 0 and 1, where 1 corresponds to half the sample frequency (the Nyquist frequency). The first point of f must be 0 and the last point 1, with all intermediate points in increasing order. Duplicate frequency points are allowed, corresponding to steps in the frequency response. m is a vector containing the desired magnitude response at the points specified in f.
  • 13. 2. Filtros analógicos: tenemos filtros a) Máximamente planos o sin rizados (Butterworth), b) Con rizado en la banda de paso (Chevyshev I), c) Con rizado en la banda de supresión(Chevyshev II), d) Con rizado tanto en la banda de paso como en la de supresión (Elíptico).
  • 14. FILTROS IIR: Filtro IIR digital: función yulewalk [b,a] = yulewalk (n,f,m); % Yule–Walker IIR Filter Fase 3: salida del filtro utilizando los coeficientes calculados anteriormente: x_filt=filter(b,a,x); % x: la señal a filtrar ; b,a: los coeficientes del filtro FUNCIONES DE MATLAB PARA EL DISEÑO DE FILTROS DIGITALES
  • 15. Obtiene los coef. A y B al resolver las ecuaciones modificadas de Yule-Walker n: orden del filtro F: vector [fo f1 f2 ... Fmax] / Fmax; Fmax = fs / 2 M: vector [mo m1 m2 ... m] (ganancia) Cálculo de coeficientes: DISEÑO DE FILTROS IIR digitales Es importante recordar que los vectores M y F deben tener la misma longitud
  • 16. Cuál es la respuesta en frecuencia real del filtro obtenido??? : FREQZ: Da la respuesta en frecuencia evaluada en N puntos (defecto:512) equiespaciados de la mitad superior del círculo unidad Fs: frec. muestreo Freqz (B, A, N, Fs): Grafica el (módulo y la fase) vs frecuencia
  • 17. Diseñe un filtro multibanda con yulewalk y grafique la respuesta de frecuencia deseada y real. Ejercicio:
  • 18. Diseñe un filtro multibanda con yulewalk y grafique la respuesta de frecuencia deseada y real. m = [0 0 1 1 0 0 1 1 0 0]; f = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1]; [b,a] = yulewalk(10,f,m); [h,w] = freqz(b,a,128); plot(f,m,w/pi,abs(h)) title('Respuestas ideal y real (magnitud: escala lineal)') Figure % Respuesta en frecuencia: % Diagrama de Bode % (respuesta en magnitud y en fase): %ver respuesta en frecuencia en 128 puntos freqz(b,a,128); %Obs: la frec. Está normalizada title(‘Diagrama de Bode(magnitud: escala en dB)') % Obs: respuesta en fase: No Lineal Resolución: Es importante no olvidar que, en este par de vectores solo es necesario indicar los puntos críticos de la señal que filtaremos
  • 19. Diagrama de Bode: % Obs: respuesta en módulo: Filtro multibanda % Obs: respuesta en fase: No Lineal
  • 20. Ejemplo: aisle cada uno de los tres tonos de la señal dada.
  • 21. PRIMER PASO CALULO DEL ESPECTRO DE LA SEÑAL CODIGO DE IMPLEMENTACIÒN clear all;close all;clc; Fmax=140; fs=2.1*Fmax; t=0:1/fs:5; x=sin(2*pi*t*100)+sin(2*pi*t*120)+sin(2*pi*t*140); nFFT=1024; LongVentana= nFFT/4; Solapamiento =LongVentana/2; [P_welch_BB,F_welch_BB] = pwelch(x,LongVentana,Solapamiento,nFFT,fs); subplot(4,1,1) plot(F_welch_BB,P_welch_BB,'r') El encontrar de manera grafica el espectro de la señal permitirá al usuario notar el tamaño de los vectores para, poder realizar el filtrado pertinente Ver grafico 1
  • 22. SEGUNDO PASO FILTADO DE CADA TONO % 1. Filtrado del primer tono: orden=25; f1=[0 100 105 110 140]/Fmax; m1=[1 1 1 0 0]; [b1,a1]=yulewalk(orden,f1,m1); senial_filtrada_uno=filter(b1,a1,x); %espectro senal filtrada: [P_welch_BB_filt,F_welch_BB_filt] = pwelch(senial_filtrada_uno,LongVentana,Solapamiento,nFFT,fs); subplot(4,1,2) plot(F_welch_BB_filt,P_welch_BB_filt,'r') % 2. Filtrado del segundo tono: f1=[0 110 115 120 125 130 140]/Fmax; m1=[0 0 1 1 1 0 0]; [b1,a1]=yulewalk(orden,f1,m1); senial_filtrada_dos=filter(b1,a1,x); El filtrado de cada tono permitirá aislar; a cada uno de estos del resto de señal. Y para poder comprobar que lo que realizamos es cierto extraemos el espectro de cada señal filtrada Ver grafico 2
  • 23. %espectro senal filtrada: [P_welch_BB_filt,F_welch_BB_filt] = pwelch(senial_filtrada_dos,LongVentana,Solapamiento,nFFT,fs); subplot(4,1,3) plot(F_welch_BB_filt,P_welch_BB_filt,'r') % 3. Filtrado del tercer tono: f1=[0 110 115 120 125 130 140]/Fmax; m1=[0 0 0 0 0 1 1]; [b1,a1]=yulewalk(orden,f1,m1); senial_filtrada_tres=filter(b1,a1,x); %espectro senal filtrada: [P_welch_BB_filt,F_welch_BB_filt] = pwelch(senial_filtrada_tres,LongVentana,Solapamiento,nFFT,fs); subplot(4,1,4) plot(F_welch_BB_filt,P_welch_BB_filt,'r')
  • 24. Resultados: Grafico 1 Grafico 2 Primer tono Grafico 2 segundo tono Grafico 2 tercer tono
  • 25. FIR: Filtro digital (solo desde fase 2): Fase 1: se conoce ya el orden del filtro (n) Fase 2: cálculo de los coeficientes: utilizar las siguientes posiblidades según el caso: b = fir1 (n, wn, type, ventana); % n = orden del filtro; wn= vector de frecuencias normalizado, type= high (pasa alta), stop (elimina banda) % ventana = blackman, hamming, hanning, etc) b = fir2 (n, f, A, ventana); % n = orden del filtro; f = vector normalizado de frecuencias; A = vector normalizado de ganancias b = remez (n, f, A); % CASI SIMILAR AL FIR2 % n = orden del filtro; f = vector normalizado de frecuencias; A = vector normalizado de ganancias Fase 3: salida del filtro utilizando el coeficiente calculado anteriormente: x_filt=filter(b, 1 ,x); % x: la señal a filtrar ; b, a=1 : los coeficientes del filtro FILTROS DIGITALES TIPO FIR: Ventaja : son de fase lineal. Desventaja : requieren orden MAYOR que los IIR
  • 26. % Diseñe un filtro pasa banda entre 5 y 15 Hz. % Asuma una frecuencia de muestreo de 100 Hz. % Orden del filtro = 128 % clear all; close all; fs = 100; % frecuencia de muestreo Fmax = fs/2; order = 128; % Orden del filtro wn = [5 15]/ Fmax; % vector de ftrecuencias b = fir1 (order,wn); % diseño del filtro FIR, % Respuesta en frecuencia: % Diagrama de Bode freqz(b,1,512,100); % Plot modulo de h: [h,freq] = freqz(b,1,512,100); figure plot(freq,abs(h),'k'); xlabel('Frecuencia (Hz)'); ylabel('H(f)'); figure plot(freq,20*log10(abs(h)),'k'); xlabel('Frecuencia (Hz)'); ylabel('H(f) en dB'); EJEMPLO FILTROS FIR: usando FIR1
  • 27. DISEÑO DE UN FILTRO FIR (USANDO FIR2) DE ORDEN 12 Y SU RESPUESTA EN FRECUENCIA % EJEMPLO FILTROS FIR: usando FIR2 close all; clear all; n = 12; % orden f = [0 .25 .25 .6 .6 1]; % respuesta de frecuencia m = [0 0 1 1 0 0]; b1 = fir2 (n,f,m); % FIR rectangular window filter h1 = freqz(b1,1,256); plot(f,m,'k'); % Plot: respuesta ideal hold on w = (1:256)/256; plot(w,abs(h1),':r'); % Plot: FIR filter xlabel(' Frequencia Relativa'); title('FIR utilizando FIR2') legend('ideal','FIR') En este tipo de filtros es necesario recordar que, mientras mayor es el orden del filtro mejor calidad tendrá, es decir, mas vertical será la caída, pero no olvidar que eso requiere de mejor hardware
  • 28. OTRAS FUNCIONES DE MATLAB PARA FILTROS FIR Cálculo de coeficientes: Ventaja : son de fase lineal. Desventaja : requieren orden MAYOR que los IIR FASE 1
  • 29. COMPARACIÓN: FILTROS IIR (YULEWALK) Y FIR (FIR2) Y SU RESPUESTA EN FRECUENCIA close all; clear all; n = 12; % orden f = [0 .25 .25 .6 .6 1]; % respuesta de frecuencia m = [0 0 1 1 0 0]; [b,a] = yulewalk (n,f,m); % Yule–Walker IIR Filter h = freqz(b,a,256); b1 = fir2 (n,f,m); % FIR rectangular window filter h1 = freqz(b1,1,256); plot(f,m,'k'); % Plot: respuesta ideal hold on w = (1:256)/256; plot(w,abs(h),'--b'); % Plot: Yule-Walker filter hold on plot(w,abs(h1),':r'); % Plot: FIR filter xlabel(' Frequencia Relativa'); title(‘Comparación entre IIR y FIR del mismo orden') legend('ideal','IIR','FIR') %CONCLUSIÓN: %FIR requieren orden MAYOR que los IIR
  • 30. % Obtenemos la señal original (estereo): %archivo original: [y_original,Fs,format] = wavread('ArjonaOriginal'); size(y_original) %2 canales (estereo): 569039 filas por 2columnas plot(y_original) % se verifica dos señales diferentes title('señal original (estereo)') % sound(y_original,Fs) canal_izquierdo_original=y_original(:,1);%extraemos 1 solo canal size(canal_izquierdo_original) %569039 filas por 1 columnas figure plot(canal_izquierdo_original) title('señal original canal izquierdo') %quitar todos los plots %sound(canal_izquierdo_original,Fs) % si reproduce El código implementado nos permite extraer canciones para realizar el trabajo. Como la señal es estereo solo usamos un canal Es aconsejable usar tonos pequeños de canciones para no hacer muy lento el procesamiento Aplicación a un audio: FILTAR UNA CANCIÓN USANDO UN FILTRO FIR PRIMER PASO EXTRACCION DE LAS CANCIONES
  • 31. SEGUNDO PASO EXTRACCION DEL ESPECTRO DE LAS SEÑALES nFFT=1024; LongVentana= nFFT/2; Solapamiento =nFFT/4; %Espectro de potencias: % LA FUNCIÓN DE MATLAB pwelch: %[P_welch,F_welch] = pwelch(canal_izquierdo,LongVentanaHanning,MuestrasTraslapadas,nFFT,fs); [P_welch_original,F_welch_original] = pwelch(canal_izquierdo_original,LongVentana,Solapamiento,nFFT,Fs); P_welch_norm_original=P_welch_original/max(P_welch_original); figure plot(F_welch_original,P_welch_original) grid on order = 128; % Orden del filtro Fmax = Fs/2; wn = [5 3000]/ Fmax; % vector de ftrecuencias b = fir1(order,wn); % diseño del filtro FIR, A mas de encontrar el espectro de frecuencias, tambien configuramos el filtro que vamos a usar.
  • 32. cancion_filtrada = filter (b,1,canal_izquierdo_original); %Espectro de potencias: % LA FUNCIÓN DE MATLAB pwelch: %[P_welch,F_welch] = pwelch(canal_izquierdo,LongVentanaHanning,MuestrasTraslapadas,nFFT,fs); [P_welch_filtrada,F_welch_filtrada] = pwelch(cancion_filtrada,LongVentana,Solapamiento,nFFT,Fs); P_welch_norm_filtrada=P_welch_filtrada/max(P_welch_filtrada); figure plot(F_welch_filtrada,P_welch_filtrada) grid on figure plot(F_welch_original,P_welch_norm_original) hold on plot(F_welch_filtrada,P_welch_norm_filtrada,'r:') grid on %sound(y_original,Fs) sound(cancion_filtrada,Fs) TERCER PASO COMPARACION DE LOS DOS TIPOS DE FILTRO
  • 33. CON FASE 1: incluye la determinación del orden del filtro SIN FASE 1: se supone ya conocido el orden del filtro FUNCIONES DE MATLAB PARA EL DISEÑO DE FILTROS ANALÓGICOS
  • 34. % Example: sin fase 1: % Plot the frequency response curves % (in db) obtained from % an 8th-order lowpass filter using the Butterworth, %Chebyshev Type I and II, and % elliptic filters. Use a cutoff frequency of 200 Hz and % assume a sampling frequency % of 2 kHz. For all filters, the passband ripple should % be less than 3 db % and the minimum stopband attenuation should be 60 db. % Frequency response of four 8th-order lowpass filters % N = 256; % Spectrum number of points fs = 2000; % Sampling filter n = 8; % Filter order wn = 200/fs/2; % Filter cutoff frequency rp = 3; % Maximum passband ripple in db rs = 60; % Stopband attenuation in db % % %Butterworth [b,a] = butter(n,wn); % Determine filter coefficients [h,f] = freqz(b,a,N,fs); % Determine filter spectrum subplot(2,2,1); h = 20*log10(abs(h)); % Convert to db semilogx(f,h,'k'); % Plot on semilog scale %axis([100 1000 -80 10]); % Adjust axis for better visi- % bility xlabel('Frequency (Hz)'); ylabel('X(f)(db)'); title('Butterworth'); % %Chebyshev Type I [b,a] = cheby1(n,rp,wn); % Determine filter coefficients [h,f] = freqz(b,a,N,fs); % Determine filter spectrum subplot(2,2,2); h = 20*log10(abs(h)); % Convert to db semilogx(f,h,'k'); % Plot on semilog scale %axis([100 1000 -80 10]); % Adjust axis for better visibility xlabel('Frequency (Hz)'); ylabel('X(f)(db)'); title('Chebyshev I'); % % Chebyshev Type II [b,a] = cheby2(n,rs,wn); % Determine filter coefficients [h,f] = freqz(b,a,N,fs); % Determine filter spectrum subplot(2,2,3); h = 20*log10(abs(h)); % Convert to db semilogx(f,h,'k'); % Plot on semilog scale %axis([100 1000 -80 10]); % Adjust axis for better visi- % bility xlabel('Frequency (Hz)'); ylabel('X(f)(db)'); title('Chebyshev II'); % Elliptic [b,a] = ellip(n,rp,rs,wn); % Determine filter coefficients [h,f] = freqz(b,a,N,fs); % Determine filter spectrum subplot(2,2,4); h = 20*log10(abs(h)); % Convert to db semilogx(f,h,'k'); % Plot on semilog scale %axis([100 1000 -80 10]); % Adjust axis for better visi- % bility xlabel('Frequency (Hz)'); ylabel('X(f)(db)'); title('Elliptic');
  • 35. Ejemplo de filtros analógicos: Ver ppt adicional sobre diseño de filtros
  • 36. DEBERES : entrenamiento final previo a simulación en comunicaciones. Fecha de entrega : martes 23 de marzo 2010 a las 7 am en punto . Nota 1 : El deber se debe entregar en grupos de 2 y en cd (puesto nombres). Nota 2 : No se aceptarán trabajos si no están hecho paso a paso y con todas las reglas ya expuestas en clase. Leer un archivo .wav y filtrarlo con filtros pasa bajas, pasa banda y pasa altas. Utilice tanto filtros digitales FIR como IIF. Realice un informe de lo que escuchó en cada caso. Las frecuencias de corte las decide ud. Genere un tono de 5 segundos de 500 Hz, seguido por un tiempo de silencia de 3 segundos y luego un tono de 1000 Hz de 4 segundos. Realice el análisis espectral por medio de la técnica de Welch. Ahora invierta el orden de los dos tonos de 500 y 1000 Hz y vuelva a realizar el análisis espectral y concluya qué pasa con la información entregada por dicho análisis espectral en ambos casos. Ahora utilice una técnica tiempo –frecuencia para analizar ambos casos y verificar que ahora sí que este método nos permite diferenciar las dos secuencias.