Informe Filtros Digitales
Informe Filtros Digitales
Informe Filtros Digitales
FILTROS DIGITALES
Fabin Higuera Sacristn 200921151, Edward Romero Serna 200921158
RESUMEN: En este laboratorio se disea un filtro rechaza-banda, eliminando las frecuencias entre 50kHz y 80kHz. Se utilizan las herramientas de MatLab para elaborar el filtro analgico para su posterior discretizacin, observando la respuesta de los dos sistemas. Adems se elabora en MatLab el modelo DARMA para solucionar ecuaciones de diferencia.
PALABRAS CLAVE: Filtro Rechaza-Banda, diagrama de Bode, Sistema discreto, Sistema continuo, Periodo de muestreo, ecuacin de diferencia, modelo DARMA.
III.
MATERIALES Y EQUIPOS
Computador con Software MatLab
I.
INTRODUCCION
Un filtro digital es un sistema que, dependiendo de las variaciones de las seales de entrada en el tiempo y amplitud, se realiza un procesamiento matemtico sobre dicha seal; generalmente mediante el uso de la Transformada rpida de Fourier; obtenindose en la salida el resultado del procesamiento matemtico o la seal de salida. Los filtros digitales tienen como entrada una seal analgica o digital y en su salida tienen otra seal analgica o digital, pudiendo haber cambiado en amplitud, frecuencia o fase dependiendo de las caractersticas del filtro digital. El filtrado digital es parte del procesado de seal digital. Se le da la denominacin de digital ms por su funcionamiento interno que por su dependencia del tipo de seal a filtrar, as podramos llamar filtro digital tanto a un filtro que realiza el procesado de seales digitales como a otro que lo haga de seales analgicas. Comunmente se usa para atenuar o amplificar algunas frecuencias, por ejemplo se puede implementar un sistema para controlar los tonos graves y agudos del audio del estreo del auto. El procesamiento interno y la entrada del filtro sern digitales, por lo que puede ser necesario una conversin analgica-digital o digital-analgica para uso de filtros digitales con seales analgicas. .
No hay recursin, es decir, la salida depende solo de la entrada y no de valores pasados de la salida. La respuesta es por tanto una suma ponderada de valores pasados y presentes de la entrada. De ah que se denomine Media en Movimiento (Moving Average) Filtros IIR (Infinite Impulse Response) Este tipo de filtros se presenta de dos formas: el filtro AR(autoregresivo) y el filtro ARMA(autoregresivo y media en movimiento): La ecuacin en diferencias que describe un filtro AR es: [ ] [ ] [ ] [ ]
II.
OBJETIVOS
Conocer las clases de filtros digitales y sus caracter Conocer las herramientas de diseo de filtros digitales de Matlab..
El filtro es recursivo ya que la salida depende no solo de la entrada actual sino adems de valores pasados de la salida (Filtros con realimentacin). La ecuacin en diferencias que describe un filtro ARMA de orden N es: [ ] [ ] [ ] [ ]
2
UNIVERSIDAD PEDAGOGICA Y TECNNOLOGICA DE COLOMBIA
V.
ANALISIS DE RESULTADOS
Observando la anterior grfica, vemos que el comportamiento en frecuencia corresponde a un filtro rechaza banda. Ahora procedemos a discretizar nuestro filtro, para ello establecemos un periodo de muestreo siguiendo el teorema de muestreo.
Disear y Discretizar un filtro anlogo rechaza-banda, para rango de frecuencias entre 50kHz y 80 kHz. Implementar el filtro discretizado en Simulink. Para iniciar con el diseo del filtro rechaza-banda, definimos en primera instancia, las frecuencias de corte y atenuacin.
Tomamos como referencia la componente en frecuencia ms alta de una seal que reconstruiramos. Para este filtro la frecuencia de corte superior es 80kHz, tomamos una frecuencia por encima a sta (100kHz) Para la elaboracin de este filtro optamos por utilizar un filtro butterworth, ya que ofrece ms estabilidad. Con el siguiente programa en MatLab calculamos el orden y la funcin de transferencia de nuestro filtro.
Ahora, utilizando la herramienta c2dm con la aproximacin Tustin hallamos la funcin de transferencia discreta con el comando tf.
0.3899 z^12 - 0.03071 z^11 + 2.341 z^10 - 0.1536 z^9 + 5.853 z^8 - 0.3071 z^7 + 7.805 z^6 - 0.3071 z^5 + 5.853 z^4 - 0.1536 z^3 + 2.341 z^2 - 0.03071 z + 0.3899 ------------------------------------------------------------------------z^12 - 0.06656 z^11 + 4.145 z^10 - 0.2326 z^9 + 7.368 z^8 - 0.3338 z^7 + 7.143 z^6 - 0.2447 z^5 + 3.969 z^4 0.09127 z^3 + 1.195 z^2 - 0.01383 z + 0.1521 Sampling time (seconds): 5e-006 Para analizar la estabilidad del sistema hallamos los polos de la funcin de transferencia, encontramos las races del denominador con la herramienta roots. roots(Dend) ans = -0.2122 + 0.9173i -0.2122 - 0.9173i 0.2239 + 0.9146i 0.2239 - 0.9146i -0.1430 + 0.8313i -0.1430 - 0.8313i 0.1540 + 0.8297i 0.1540 - 0.8297i -0.0475 + 0.7846i -0.0475 - 0.7846i 0.0581 + 0.7840i 0.0581 - 0.7840i
3
UNIVERSIDAD PEDAGOGICA Y TECNNOLOGICA DE COLOMBIA
Ahora miramos la magnitud de cada uno de los polos >> abs(ans) ans = 0.9415 0.9415 0.9416 0.9416 0.8435 0.8435 0.8438 0.8438 0.7860 0.7860 0.7862 0.7862 Como podemos ver, el sistema es estable, ya que la magnitud de los polos es menor a 1 (regin de convergencia). La respuesta en frecuencia de nuestro sistema discreto se encuentra en la siguiente figura.
SISTEMAS CONTINUO (VERDE) Y DISCRETO (AZUL) En la anterior grfica se puede observar el comportamiento al escaln de un filtro rechaza-banda, vemos que las muestras del sistema discreto siguen a la respuesta del sistema continuo pero con un retardo mayor, esto se debe a que para el sistema discreto, el proceso de muestreo introduce un retardo mayor a la respuesta. Para la solucin de ecuaciones de diferencia se utiliza el modelo DARMA que es de la siguiente manera: ( ( Donde, ( ( ) ) ) ) ( ( ) )
Podemos expresar la funcin de transferencia de nuestro filtro de la siguiente manera para determinar el valor de los coeficientes: Hz=tf(Numd,Dend,Tm,'variable','z^-1')
Transfer function: 0.2456 - 0.02901 z^-1 + 2.212 z^-2 -0.2321 z^-3 + 8.851 z^-4 - 0.8125 z^-5 + 20.66 z^-6 - 1.625 z^-7 + 31 z^-8 - 2.032 z^-9 + 31 z^-10 - 1.625 z^-11 + 20.66 z^-12 0.8125 z^-13 + 8.851 z^-14 - 0.2321 z^-15 + 2.212 z^-16 - 0.02901 z^-17 + 0.2456 z^18
Fig. 2 RESPUESTA EN FRECUENCIA PARA FILTRO RECHAZA-BANDA DISCRETIZADO. La respuesta al escaln tanto del sistema continuo como del discreto, se obtuvo con el comando step y se encuentra en la siguiente grfica. step(Hd,H) grid on
-----------------------------------------1 - 0.09994 z^-1 + 6.234 z^-2 - 0.5577 z^-3 + 17.59 z^-4 - 1.385 z^-5 + 29.39 z^6 - 1.995 z^-7 + 32.01 z^-8 - 1.82 z^-9 + 23.53 z^-10 - 1.075 z^-11+ 11.66 z^-12 0.4014 z^-13 + 3.75 z^-14 - 0.08645 z^-15 + 0.7104 z^-16 - 0.00822 z^-17 + 0.06031 z^-18 Sampling time (seconds): 5e-006
Implementamos en SIMULINK los de bloques que simulan nuestro filtro, aplicamos una seal senoidal a la entrada de una frecuencia de 20kHz.
4
UNIVERSIDAD PEDAGOGICA Y TECNNOLOGICA DE COLOMBIA
Aplicamos un periodo de muestreo en el retenedor de orden cero igual al estipulado anteriormente (5e-6 s), las grficas que se obtuvieron fueron:
Filtro FIR: para un filtro de este tipo sabemos que la salida solo depende de valores instantneos y valores antiguos de la seal de entrada. La siguiente funcin (filq) fue realizada en MatLab y modela un filtro de tipo FIR de la forma, donde se calcula la salida del filtro de manera recursiva (numrica) mediante un algoritmo: ( ) ( ) ( )
d = hace referencia al retardo del filtro, P = coeficientes de la funcin ( ), Vo = condicin inicial, u = seal de entrada. function V= filq(d,k,P,Vo,u) [i,j]=size(P); n=j-1; V=Vo; k1=k+1; if k >= n, for i=d:n, V=V+P(i+1)*u(k1-i); end else if k>=d, for i=d+k, V=V+P(i+1)*u(k1-i); end end end
Fig. 5 SEALES DE ENTRADA (AZUL) ALA SALIDA DEL RETENEDOR (VERDE) Y A LA SALIDA DEL FILTRO DISCRETIZADO (ROJO) PARA SEAL SENO DE 20KHz A LA ENTRADA Al ser un filtro rechaza-banda entre frecuencias de 50kHz y 80kHz, eliminar todos los componentes de frecuencias de la seal de entrada dentro de este rango. Cuando aplicamos una seal seno de 20kHz a la entrada, tendremos que observar la misma seal, pero discretizada, a la salida del filtro. En la figura 5 vemos que la seal a la salida del filtro corresponde a la misma que en el retenedor de orden cero, pero desplazada hacia la derecha, esto se debe a que todos los filtros siempre introducen un retardo a la salida. Para comprobar el correcto funcionamiento de nuestro filtro, introducimos una seal senoidal de frecuencia 60kHz a la entrada del filtro.
Por lo que los coeficientes del filtro son 1 y -1 respectivamente, adems definimos una condicin inicial Vo=0. Para escaln unitario >> k=0:10; >> u=ones(size(k)); >> stem(u)
Fig. 5 SEALES DE ENTRADA (AZUL) SALIDA DEL RETENEDOR (VERDE) Y A LA SALIDA DEL FILTRO DISCRETIZADO (ROJO) PARA SEAL SENO DE 60KHz A LA ENTRADA Para esta seal vemos que la seal a la salida del filtro discretizado est atenuada, esto se debe a que la frecuencia de la seal se encuentra dentro del rango del filtro. Fig 6. SEAL A LA ENTRADA DEL FILTRO, ESCALON MUESTREADO CON Tm=1
5
UNIVERSIDAD PEDAGOGICA Y TECNNOLOGICA DE COLOMBIA
>> P=[1 -1] >> d=0; >> Vo=0; >> y=filq(d,0,P,Vo,u) >> j=4; >> y(j)=filq(d,j-1,P,Vo,u) y= 1 0 0 0
Aplicando la seal del escaln al filtro anterior vemos que la salida filtra esta seal en el segundo instante de tiempo, luego los valores son cero para todo instante de tiempo. Para filtrar una seal senoidal utilizamos el mismo algoritmo tomando en cuenta que, ( )
condiciones ambientales (temperatura, presion etc), su versatilidad para efectuar diversos tipos de filtrado sin tener que modificar el hardware. Cuando aplicamos un filtrado a cualquier seal, debemos tener en cuenta que todo proceso de filtrado introduce un retardo a la seal de salida, es necesario tener presente esto para posteriores clculos. Los filtros FIR solo dependen de la seal de entrada, a comparacin de los filtros IIR donde intervienen anteriores valores a la salida. Es posible solucionar ecuaciones de diferencia mediante algoritmos matemticos (solucin recursiva numrica), pero es necesario conocer las condiciones iniciales del sistema.
VII.
REFERENCIAS
El clculo de los coeficientes se encuentra en los anexos, los valores encontrados son: P1=1 P2=0.618 >> k=0:100; >> Ao=1; >> u=Ao*sin(0.1*pi.*k); >> d=0; >> P=[1 0.618]; >> Vo=0; >> j=2; >> y(j)=filq(d,j,P,Vo,u) y= 0 0 1.5878 >> stem(u)
[1] C. Savant, Diseo Electrnico: Circuitos y sistemas (Capitulo 12), 3rd ed. Mxico: Pearson Education, 2000. [2] MathWorks, help MATLAB, 1984-2009. [3] S. Haykin, Seales y Sistemas. Mexico: Limusa Wiley, 2003. [4]http://www.eveliux.com/mx/teoria-del-muestreo-denyquist.php [5]http://www.tecnun.es/asignaturas/tratamiento%20dig ital/tema8.pdf
Fig. 7 Fig 6. SEAL SENOIDAL A LA ENTRADA DEL FILTRO, MUESTREADA CON Tm=1 VI.
CONCLUSIONES
Los filtros digitales, presentan ventajas tecnolgicas respecto a los analgicos. Algunas de estas ventajas son su mayor insensibilidad a