Está en la página 1de 16

Universidad Nacional Mayor de San Marcos

Facultad de Ingeniería Electrónica y Eléctrica


Escuela Profesional de Ingeniería de Telecomunicaciones
“Año del Bicentenario del Perú: 200 años de Independencia”

TAREA Nº 07
“DISEÑO DE FILTROS DIGITALES FIR”

 Alumno: Cornelio Cosisilla, Luis Angel

 Código: 18190327

 Profesor: Flavio Carrillo

 Horario: Jueves 2:00-4:00 p.m.

 Curso: Laboratorio de Procesamiento

Digital de Señales en TR

2021
LABORATORIO N°08: “DISEÑO DE FILTROS DIGITALES FIR ”
 OBJETIVO
En este Laboratorio, se desarrollará los métodos de diseño de filtros FIR
 EQUIPOS Y MATERIALES REQUERIDOS
El equipo de experimentación necesario para realizar el presente laboratorio es:
1. PC INTEL CORE i5 o superior.
2. Sistema Operativo Windows 10.
 SOFTWARE REQUERIDO
El siguiente software es necesario para realizar este laboratorio:
1. Octave V6.2, https://www.gnu.org/software/octave/
2. Librerías y archivos de soporte.
I. DISEÑO DE FILTROS FIR USANDO VENTANAS ESTANDAR
Grafica las funciones de las ventanas rectangular, Hamming, Hanning y Blackman
para una longitud de 21 puntos en una sola figura utilizando el comando subplot.
Puede utilizar los comandos de Octave hamming, hann y blackman. Luego calcular
y graficar la magnitud de la DTFT de cada una de las cuatro ventanas. Graficar las
magnitudes en una escala de decibelios (es decir, graficar 20log 10 ∣W(ejΩ )∣). Cargar
y utilizar la función DTFT.m para calcular la DTFT. Utilizando el código brindado
por la guía procedemos a realizar los cálculos agregando primero las ventanas de
forma manual definidas en la guía, primero procedemos a graficar la forma de cada
ventana en nuestra señal, luego calculamos su transformada de Fourier y la
expresamos en dB, luego de ello realizamos el diseño del filtro al realizar el
producto de la ventana con una función de prueba la cual será la función sampling y
finalmente calculamos la respuesta en frecuencia de esta salida para obtener la
respuesta en frecuencia del filtro
Fig. 1 Código que genera filtro a partir de diferentes ventanas parte 1

Fig. 2 Código que genera filtro a partir de diferentes ventanas parte 2


 Ventana Rectangular

Fig. 3 Ventana rectangular en el tiempo y su transformada expresada en dB

Fig. 4 Señal de truncamiento de la ventana rectangular en el tiempo y su espectro

 Ventana Hamming
Fig. 5 Ventana Hamming en el tiempo y su transformada expresada en dB

Fig. 6 Señal de truncamiento de la ventana Hamming en el tiempo y su espectro

 Ventana Hanning

Fig. 7 Ventana Hanning en el tiempo y su transformada expresada en dB

Fig. 8 Señal de truncamiento de la ventana Hannig en el tiempo y su espectro


 Ventana Blackman

Fig. 9 Ventana Blackman en el tiempo y su transformada expresada en dB

Fig. 10 Señal de truncamiento de la ventana Blackman en el tiempo y su espectro

Como podemos ver, diferentes ventanas en mismas condiciones generan diferentes tipos
de resultados en frecuencias para el diseño del filtro, para la ventana rectangular vemos
que existe ondulaciones fuertes tanto en la banda de paso como en la banda de
atenuación, mientras que para la ventana de Hamming y Hanning solo se encuentra
ondulaciones en la banda de atenuación y finalmente para la ventana de Blackman
podemos ver que la atenuación es casi nula tanto en la banda de paso como en la de
atenuación. Ver figuras.
II. Diseño de un filtro FIR utilizando la ventana de Kaiser
Para esta parte se nos pide diseñar un filtro pasa bajo usando una ventana Kaiser por
medio del método de truncamiento, las ventanas Kaiser funcionan en base a 2
parámetros, N que es la longitud de la ventana y β que es un parámetro en función a A
por tramas Los valores altos de β reducen los lóbulos laterales de la ventana y por lo
tanto dan como resultado una reducción de la ondulación de la banda de paso y de la
banda de atenuación. La única restricción en el método de diseño del filtro de Kaiser es
que el rizado de la banda pasante y de la banda de atenuación deben ser de igual
magnitud, por ello tenemos el siguiente código para el filtro Kaiser.
Fig. 11 Código para el diseño del filtro pasa bajo en función de la ventana Kaiser
Fig. 12 Código para el diseño del filtro pasa bajo en función de la ventana Kaiser
Fig. 13 Ventana de Kaiser para 45 datos y ampliado a 100

Fig. 14 Transformada de Fourier para la ventana de Kaiser


Fig. 15 Generación del truncamiento y su espectro en frecuencia

Como se puede ver en las figuras anteriores se genera primero la ventana de una
longitud de 45 datos, luego se procedió a ampliarla a 100, seguidamente calculamos su
transformada de Fourier para ver su representación en frecuencias, luego de ello se
genera el truncamiento de la ventana multiplicándola por la función sampling que en
frecuencia genera una convolución dando como resultado la respuesta en frecuencia de
la figura 15 que viene a ser el diseño de nuestro filtro pasa bajo, ahora bien este filtro
que hemos diseñado lo usaremos para realizar el filtrado de la señal voice_noise2.txt, el
cual cargaremos y haremos el procesamiento correspondiente, es decir ver su espectro
en frecuencia inicial para saber en qué frecuencias debemos aplicar el filtrado y la parte
en donde se aplica la misma, para ello tenemos el siguiente código.
Fig. 17 Código filtrado de la señal voice_noise2.txt usando el filtro por truncamiento
Fig. 18 Señal voice_noise2.txt representada en el tiempo y en la frecuencia

Fig. 19 Señal voice_noise2.txt filtrada graficada en el tiempo y frecuencia

Finalmente tenemos los siguientes resultados, en la figura 18 podemos ver la señal en el


tiempo y la frecuencia, se puede observar que el ruido aparece pr arriba de los 2.5 kHz y
son estas la componentes que debemos eliminar por tanto usando el diseño del filtro
anterior por truncamiento utilizando la ventana Kaiser realizamos el filtrado donde
obtenemos lo visto en la figura 19, según su espectro podemos ver que se han eliminado
las componentes de las frecuencias no deseadas y nos hemos quedado solo con la parte
audible, la señal al ser un poco débil solo nos quedaría amplificarla un poco y pasar a
reproducirla que al hacerlo se comprueba la correcta realización del filtrado.
III. Diseño de filtro FIR utilizando el algoritmo de Parks-McClellan
El algoritmo de Parks-McCleallan es utilizado en la parte de optimización de filtros ya
que este se encarga de obtener el mínimo valor para longitud de coeficientes para el
filtro por lo que, en la práctica resulta bastante útil, en las siguientes imágenes se trabajó
con la misma señal que en el apartado anterior, ahora bien el procedimiento para aplicar
ahora el algoritmo en Matlab es utilizar el comando remez que nos da la mínima
cantidad de datos para el filtro que tenemos, luego con estos datos procedemos a
realizar el filtrado de la señal.

Fig. 20 Filtro obtenido a partir del algoritmo y su respuesta al impulso

Fig. 21 Señal vouce_noise2.txt en el tiempo y frecuencia


Fig. 22 Señal vouce_noise2.txt filtrada en el tiempo y frecuencia

Como podemos observar el filtro posee una banda de atenuación con un rizado bastante
amplio, este es el coste por tener un filtro con la mínima longitud de datos y este diseño
si bien es eficiente en cuanto a aplicación pierde su selectividad la cual podemos
apreciar en la señal filtrada la cual aún conserva componentes a partir de los 2.5 kHz
que no han sido filtrados debido al rizado del filtro, en cuanto a la señal audible
podemos notar aun presencia de ruido sin embargo tiene una calidad aceptable, entonces
podemos concluir que es una forma reciproca de realizar un filtro ya que se gana una
reducción de cantidad de datos pero se pierde calidad en cuanto al filtro.

También podría gustarte