0% encontró este documento útil (0 votos)
191 vistas4 páginas

Filtrado y Convolución en Matlab

Este documento presenta 3 ejercicios sobre filtrado y convolución de señales usando Matlab. El primer ejercicio involucra calcular la DFT de una señal y probar diferentes valores de N para distinguir frecuencias. El segundo ejercicio pide diseñar filtros pasabajos y rechazabandas para filtrar un ECG, y comparar filtros IIR y FIR. El tercer ejercicio pide crear una función para simular una convolución continua con parámetros de entrada y salida especificados.

Cargado por

Katherine Ríos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
191 vistas4 páginas

Filtrado y Convolución en Matlab

Este documento presenta 3 ejercicios sobre filtrado y convolución de señales usando Matlab. El primer ejercicio involucra calcular la DFT de una señal y probar diferentes valores de N para distinguir frecuencias. El segundo ejercicio pide diseñar filtros pasabajos y rechazabandas para filtrar un ECG, y comparar filtros IIR y FIR. El tercer ejercicio pide crear una función para simular una convolución continua con parámetros de entrada y salida especificados.

Cargado por

Katherine Ríos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad Simón Bolívar

Ingeniería Electrónica
SEÑALES Y SISTEMAS I
Práctica N° 4
FILTRADO Y CONVOLUCION
Preparación
Antes de asistir al laboratorio Ud. Debe:
• Leer en el Help de Matlab las siguientes funciones:
• fft, ifft,conv,filter,filtfilt,sosfilt
• Leer sobre filtros FIR e IIR

Ejercicio Nro. 1

Sea la secuencia x[n] = cos(0.25πn) + cos(0.5πn)+ cos(0.52πn). Se pide


Calcular la DFT utilizando la función matlab fft(x,N) con N=L= longitud de las
secuencia x[n] y representar su módulo para diferentes valores de número de muestras
L. Pruebe por ejemplo los siguientes valores N=16, N=32, N=64, N=128. Indique a
partir de que valor de N son distinguibles las tres frecuencias de la señal.

• ¿Cómo están relacionados los valores de L, N y la resolución en frecuencias?


• Compruebe que sucede en el espectro de la señal si una secuencia de L= 100
muestras de x[n] se rellena con ceros hasta N=128.
• Calcule la transformada inversa de la función X(w) utilizando la funcion ifft (X)
para recuperar la señal en el dominio de tiempos.
• Suponga que se desea estudiar el contenido en frecuencias usando la FFT, de la
siguiente señal.

x(t) = 0.0472*cos(2π(200)t + 1.5077) + 0.1362*cos(2π(400)t + 1.8769) + 0.4884


*cos(2π(500)t - 0.1852) +0.2942*cos(2π(1600)t -1.4488) + 0.1223*cos(2π(1700)t).

¿Cual es su frecuencia fundamental? ¿Que frecuencia de muestreo debe usarse? Estime


un valor adecuado de N para obtener suficiente precisión en frecuencias. Represente
|X(w)| y la fase de X(w) en función de w.
Ejercicio Nro. 2

Ud. labora para la división de equipos médicos de “SIEMENS” en el Dpto. de


Optimización de Procesamiento Digital de ECG y en su primer día se le encomienda
remover ciertas componentes del espectro ECG de un paciente sometido a Angioplastia
Transluminal Percutanea en el laboratorio de Cateterismo. Se le proporciona un archivo
ECG.MAT donde se encuentra un segmento ecg de 15000 muestras, el mismo fue
obtenido a una frecuencia de muestreo Fs = 1000 muestras/seg. En un primer caso se
requieren conservar las componentes hasta 50Hz y en un segundo caso es preciso
conservarlas hasta los 300Hz.

Realice las siguientes actividades:

1. Diseñe los filtros necesarios (rechazabandas y pasabajo) utilizando “fdatool”


2. Exporte coeficientes y utilice las rutinas “sosfilt”.
3. Grafique en una sola figura

9 Señal ecg proporcionada


9 Espectro señalando componentes indeseadas, utilice la rutina fftplot
suministrada (recuerde modificar fftplot para no generar una nueva figura).
9 Señal ecg filtrada (para el Caso 1: pasan todas las frecuencias hasta 50Hz)
9 Espectro de señal ecg filtrada (caso 1)
9 Señal ecg filtrada (para el Caso 2: se requieren conservar componentes hasta
los 300Hz)
9 Espectro de señal ecg filtrada (caso 2)

¿Cómo utilizar fdatool para hallar los coeficientes?

• En la línea de comandos de Matlab 7.0 escriba: fdatool y presione enter,


obtendrá la siguiente interfase de diseño (fig.1).

Fig. 1
• En el caso 1 Ud. tendrá que seleccionar un “Lowpass filter” (parte inferior
izquierda de la interfase), tendrá que decidir si escoge un filtro tipo IIR o tipo
FIR, investigue que significa esto y que implicaciones tiene. Si elige un filtro
tipo IIR, seleccione la opción “Butterworth”, y si es tipo FIR: seleccione
“Equirriple”; en ambos casos señale ventajas y desventajas.
• Para este ejemplo en específico se seleccionó: tipo: IIR-Butter (Lowpass) de
orden mínimo para: fs = 1000 y magnitudes Apass =1 y Astop = 60. Presione el
boton “Desing filter” al final y obtendrá una figura como la siguiente (fig.2):

Fig. 2
• El siguiente paso es exportar los coeficientes: Vaya al menú File->Export y
seleccione: export to: “Workspace” y export as: “Coefficients”, presione OK y
tendrá los coeficientes en el “Workspace” como se muestra en la siguiente figura
(fig.3): SOS es la matriz de coeficientes del filtro y G representa un vector de
escalamiento para cada una de las secciones del filtro, aunque no la utilizaremos
en ningún argumento.

Fig. 3
• Coloque ecgfiltrada = sosfilt(SOS,ecg), grafique los espectros de ambas señales
(“cruda” y filtrada), debería obtener una figura semejante a la siguiente(fig. 4):

Fig. 4
• Ulitice un filtro butterworth del mismo orden anterior (191) pero esta vez
programado sobre la línea de comando: [b a]=butter(191,wn) con
wn=50/500=50/(fs/2), filtre la señal ecg con la función filter y filtfilt, guarde
ambas señales, grafique con subplot en varios paneles: ecg+ecg(filter),
ecg+ecg(filtfilt) y los espectros antes y después de filtrar (una vez). Si tiene
problemas de aproximación numérica disminuya el orden del filtro.
¿Observando los ecg’s en tiempo, que ventajas tiene filtfilt sobre filter?.

Ejercicio Nro. 3 (Convolución)

Haga una función para simular una convolución contínua en Matlab que tenga como
variables de salida [y,ty] (ty, vector de tiempo de y) y como parámetros de entrada
s1,t1,s2,t2,T; donde S1 y S2 son señales de entrada, t1 y t2 sus respectivos vectores de
tiempo y T el tiempo de muestreo.

También podría gustarte