Reporte Final 2

10
 FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011 Tarea Ex - Aula No.2 Análisis de Señales y Sistemas 1 FIL TRO DIG IT AL PASA BANDA USANDO LA V ENT ANA HA NNING Universidad de El Salvador, Escuela de Ingeniería Eléctrica Análisis de Señales y Sistemas Josué Gabriel Deras Campos, DC08009 Fredy Jonathan Quinteros Calzadia, QC08002  RESUMEN. El presente trabajo consta de los resultados obtenidos tras el diseño de un filtro digital F IR con la técnica del ventaneo, bajo simulaciones realizadas con el lenguaje de programación Octave 3.2. El filtro implementado es un filtro digital pasa banda con frecuencias de paso de 950 y 1100 Hz, y con frecuencias de paro de 900 y 1150 Hz. El tipo de ventana que se ha utilizado es la Hanning. Se analizan la respuesta al impulso y la respuesta en frecuencia del filtro a partir de las graficas obtenidas, partiendo del diseño de un filtro paso baja. Para obtener una mejor compresión de los resultados se hacen una serie de pruebas pasando una señal de entrada al sistema dise ñado, para luego analizar todos los escenarios posibles en la salida. Al final se presenta el script con extensión ‘.m’.   INTRODUCCIÓN. Un filtro es un dispositivo que impide o permite el paso de una cierta gama de frecuencias, donde permitir o impedir está relacionado con un nivel de atenuación o ganancia, pudiendo modificar tanto su amplitud como su fase. De otra manera los filtros digitales son sistemas que dependiendo de las señales de entrada que posean, se puede procesar estas señales y así poder eliminar partes no deseadas de las mismas.  Los filtros son sumamente importantes en sistemas de comunicaciones al igual que en control o telemetría entre otras aplicaciones. En el presente trabajo se detallan las herramientas necesarias para la creación de un filtro digital pasa bandas utilizando la conocida ventana hanning, el filtro que se diseña es un filtro digital con respuesta finita al impulso (FIR).  DESARROLLO TEÓRICO. Las señales pueden describir una amplia variedad de fenómenos físicos. En términos matemáticos, las señales analógicas son funciones que constan de cantidades continuas como sus variables independientes, por ejemplo, espacio y tiempo. Señales de tiempo-discreto son funciones definidas en números enteros. Una señal en tiempo discreto x[n] es una función de una variable entera ‘n’. Se supondrá que una función en tiempo discreto se define para cada valor de n para - < n <+. Una muestra x[n] puede quedar definida como la sumatoria de impulsos ponderados y desplazados, quedando expresado asi: x[n ] = x k  +k=−∞ δ[n k] La salida de un sistema LTI y[n] está en función de la respuesta que este mismo sistema daría si la entrada fuese un impulso unitario, lo que nos lleva al concepto de convolucion: y n = hn ; cua ndo xn = δ[n] yn = x k  +k=−∞ hn k  = xn hn  Lo anterior prácticamente dice que cualquier sistema queda completamente definido por su respuesta al impulso unitario, la cual es definida por h[n]. Entonces se puede ver a un determinado sistema como un concepto más especifico: “un filtro digital”.  La entrada a un filtro digital es una señal periódica, y lo que se busca es tener un sistema que tenga una salida filtrada solo para determinadas frecuencias. En el diseño de un filtro digital FIR (la respuesta al impulso h[n] para estos sistemas tiene duración finita; es decir, es diferente de cero sólo dentro de un intervalo finito de tiempo), las características deseadas se describen en el dominio de la frecuencia en función de la respuesta del filtro en magnitud y fase. Por lo tanto se debe especificar una frecuencia de corte, la banda de paso, la banda de rechazo y el rizado del filtro. Una vez definido esto, , se usa la Transformada de Fourier y se obtiene la respuesta al impulso del filtro diseñado. Para el caso de interés se usan las siguientes especificaciones (filtro pasa banda): las frecuencias de paso y paro son, fp1[Hz] = 950, fp2[Hz] = 1100 y fs1[Hz] = 900, fs2[Hz] = 1150, respectiv amente, como en la figura siguiente: Figura 1. Respuesta (dB) en frecuencia del filtro pasa banda

description

ues

Transcript of Reporte Final 2

  • FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011

    Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas

    1

    FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING

    Universidad de El Salvador, Escuela de Ingeniera Elctrica Anlisis de Seales y Sistemas

    Josu Gabriel Deras Campos, DC08009

    Fredy Jonathan Quinteros Calzadia, QC08002

    RESUMEN. El presente trabajo consta de los resultados obtenidos tras el diseo de un filtro digital FIR con la tcnica del ventaneo, bajo simulaciones realizadas con el lenguaje de programacin Octave 3.2. El filtro implementado es un filtro digital pasa banda con frecuencias de paso de 950 y 1100 Hz, y con frecuencias de paro de 900 y 1150 Hz. El tipo de ventana que se ha utilizado es la Hanning. Se analizan la respuesta al impulso y la respuesta en frecuencia del filtro a partir de las graficas obtenidas, partiendo del diseo de un filtro paso baja. Para obtener una mejor compresin de los resultados se hacen una serie de pruebas pasando una seal de entrada al sistema diseado, para luego analizar todos los escenarios posibles en la salida. Al final se presenta el script con extensin .m.

    INTRODUCCIN. Un filtro es un dispositivo que impide o permite el paso de una cierta gama de frecuencias, donde permitir o impedir est relacionado con un nivel de atenuacin o ganancia, pudiendo modificar tanto su amplitud como su fase. De otra manera los filtros digitales son sistemas que dependiendo de las seales de entrada que posean, se puede procesar estas seales y as poder eliminar partes no deseadas de las mismas. Los filtros son sumamente importantes en sistemas de comunicaciones al igual que en control o telemetra entre otras aplicaciones. En el presente trabajo se detallan las herramientas necesarias para la creacin de un filtro digital pasa bandas utilizando la conocida ventana hanning, el filtro que se disea es un filtro digital con respuesta finita al impulso (FIR).

    DESARROLLO TERICO. Las seales pueden describir una amplia variedad de fenmenos fsicos. En trminos matemticos, las seales analgicas son funciones que constan de cantidades continuas como sus variables independientes, por ejemplo, espacio y tiempo. Seales de tiempo-discreto son funciones definidas en nmeros enteros. Una seal en tiempo discreto x[n] es una funcin de una variable entera n. Se supondr que una funcin en tiempo discreto se define para cada valor de n para -< n

  • FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011

    Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas

    2

    La transformada de Fourier tiene una importancia fundamental en la representacin y anlisis de seales y sistemas discretos. Una generalizacin de ella es la transformada Z. La funcin de transferencia de un sistema se puede escribir en trminos de la transformada z.

    H(z) Y(z)

    X(z)

    Transformada que se define para una seal x[n], como:

    X z Z x n = x n zn

    n=

    Donde n es un entero y z es, en general, un nmero complejo de la forma: z = Aej. La Transformada Z convierte una seal que est definida en el dominio del tiempo discreto (que es una secuencia de nmeros enteros) en una representacin en el dominio de la frecuencia compleja, que es donde se analiza las frecuencias de paso y paro de filtro pasa banda. Hay que notar que cuando zn es reemplazado por ejn , la transformada z se convierte en la transformada de Fourier. Cuando la transformada de Fourier existe z = ej , la cual debe tener la magnitud unitaria (A=1) para z. Entonces las transformada de Fourier y su inversa para el tiempo discreto queda definida asi:

    X = x n

    n=

    = { }1 1

    2 ( )

    Filtro digital FIR (Respuesta al Impulso Finita) Los filtros de fase lineal con respuesta al impulso finita se definen a continuacin, mediante un anlisis en el dominio del tiempo discreto y el dominio de la frecuencia. Dado una h[n], para 0 n L 1 el cual es la respuesta al impulso de longitud o duracin (finita) L. Entonces la funcin (de transferencia) que describe al sistema es:

    H(z) = h n znL1

    n=0

    H z = h0 + h0z1 + + hL1z

    (L1) Se puede ver que es la misma entrada retardada cada vez ms en el tiempo, multiplicada por diversos coeficientes y finalmente sumada al final, que es prcticamente la idea bsica que se aplica en octave, especficamente con la funcin freqz.

    H(z) = z(L1) h n zL1nL1

    n=0

    Donde hay (L-1) polos en el origen z = 0 (polos triviales) y (L-1) ceros localizados en algn lugar del plano z.

    La funcin de la respuesta en frecuencia es:

    H ej = h n ejnL1

    n=0

    ,

    Para que el sistema se impone la restriccin de fase lineal:

    H ej = , Donde es un retraso de fase constante, entonces para que adems h[n] sea simetrica se debe cumplir: h[n] = h[L-1-n], 0 n (L 1) con

    =L 1

    2

    Por lo tanto h[n] es simtrica con respecto a , el cual es el eje de simetra. El orden del filtro est dado por L-1, es decir, el nmero de coeficientes. Tambin la salida puede ser expresada como la convolucion de una seal de entrada x[n] con un filtro h[n]:

    y n = h k

    L1

    k=0

    x n k

    Para el diseo del filtro pasa banda, es necesario combinar el diseo de un filtro paso baja y un paso altas a distintas frecuencias de corte. Para un filtro pasa banda la combinacin es como la siguiente:

    Debido a lo anterior, es indispensable la profundizacin en el diseo del filtro pasa bajo, para lograr un filtro paso altas. Diseo con ventanas. La idea bsica detrs del diseo de la ventana es elegir de manera ideal el grupo o rangos de las frecuencias a filtrar (las que se dejaran pasar y las que se detendrn) por el sistema (que siempre es no causal, y con respuesta al impulso de duracin infinita) y luego truncar su respuesta al impulso para obtener una fase lineal y causal del filtro FIR. Por lo tanto el nfasis en este mtodo es en la seleccin de una funcin adecuada de ventanas y un filtrado ideal adecuado. Vamos a designar un filtro ideal seleccionador de frecuencia por Hd(w) , el cual tiene una ganancia de magnitud unitaria y caractersticas de fase lineal sobre la banda de paso y respuesta cero sobre la

    Figura 2. Diseo de un filtro pasa banda.

  • FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011

    Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas

    3

    banda de rechazo. Un filtro ideal paso bajo tiene un ancho de banda esta dado por:

    =

    1 ,

    0,

    Donde c es llamada la frecuencia de corte, (que es donde la funcin se corta a cero) y es llamado el retraso de muestra. Como:

    Hd ej = H ej ej

    La ecuacin anterior que Hd e

    j hace recordar que es un numero complejo, de magnitud unitaria

    ( H ej = 1 ), y con fase igual a " . La respuesta al impulso es de duracin infinita y est dada por la transformada ineversa:

    = { }1 =

    1

    2 (

    )

    =1

    2 1

    =(( ))

    ( )

    + La grafica para esta ecuacin tiene la forma siguiente: Hay que notar que hd n es simtrica con respecto a , un hecho til para los filtros FIR de fase lineal. Pero tiene un nmero infinito de puntos. Segn la definicin de los filtros FIR, h[n] debe de tener un nmero finito de puntos. Asi que para obtener un filtro FIR partiendo de hd n , es necesario truncar hd n en ambos lados de su simetra. Asi que para obtener el filtro FIR h n de longitud L, (orden L-1), tenernos que tener:

    [] = , 0 1

    0,

    Y =1

    2

    Esta operacin es llamada ventaneo. En general h[n] puede ser conseguida por el producto de hd n y una funcion de ventana w n , como lo muestra la siguiente frmula:

    = []

    Donde w[n] es una funcin de ventana simtrica con respecto a sobre 0 n L 1, y es cero en algun otro lugar. En el dominio de la frecuencia la respuesta causal del filtro FIR H ej esta dado por la convolucion periodica de Hd e

    j y la respuesta de la ventana W ej , esto es:

    H ej = Hd ej W ej

    =1

    2

    ()

    En el dominio del tiempo discreto, la operacin de ventaneo es un simple producto punto a punto (no una convolucin), es por eso que se prefiere usar ese mtodo ( = []), y luego pasar al

    dominio de la frecuencia mediante la transformada Z (o transformada de Fourier si se quiere). La sencillez de h[n] tienen caractersticas muy atractivas, el fenmeno de Gibbs lo hace en algunas ocasiones cuestionable, ya que se produce una sobre oscilacin relativamente grande en las cercanas de la discontinuidad de la respuesta ideal. Esta sobre oscilacin se debe al truncamiento abrupto de la respuesta al impulso de duracin infinita, de manera que usando diversas funciones ventana se puede truncar la secuencia de manera ms suave. Sobre el filtro paso altas. Si la respuesta en frecuencia de un filtro paso bajas Hlp e

    j , fuera desplazada medio periodo (), se

    tendra Hlp (ej()) , esto es, la respuesta en

    frecuencia de un filtro ideal paso altas con frecuencia de corte c . Por lo tanto:

    Hhp ej = Hlp (e

    j())

    Si hlp n y hhp n respectivamente denotan la

    respuesta al impulso de los filtros paso baja y pasa altas, la propiedad de desplazamiento de frecuencia implica que los filtros paso baja y paso alta estn relacionados por:

    hhp n = ejn hlp n = (1)

    nhlp n

    Acerca de las ventanas.

    En procesamiento de seales, una ventana se utiliza cuando nos interesa una seal de longitud voluntariamente limitada. En efecto, una seal real tiene que ser de tiempo finito; adems, un clculo slo es posible a partir de un nmero finito de puntos. Para observar una seal en un tiempo finito, la multiplicamos por una funcin ventana. Las cuatro ventanas coseno generalizadas vienen dadas por:

    Figura 3. Respuesta al impulso del filtro paso bajas ideal discreto.

    Figura 3. Ventana Hanning con M=25

  • FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011

    Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas

    4

    [] =

    2

    1 +

    4

    1

    0 10,

    Los nombres de las ventanas y sus formas son definidos por los constantes a, b, c. Para la ventana Hanning con constantes a = 0.5, b = -0.5 y c = 0, se tiene: Ec. 12:

    [] = 1

    2[1 +

    2

    1 ] 0 1

    0,

    La respuesta de la ventana Hanning en el dominio de la frecuencia, es mostrada a continuacin.

    El producto de la ventana tiene el efecto de suavizar hd [n] y por lo tanto a su transformada z (o de Fourier, si se quiere) Hd (e

    j) en el dominio de la frecuencia.

    Sobre las frecuencias. A continuacin se detallan los trminos utilizados de las distintas frecuencias utilizadas. La tasa o frecuencia de muestreo es el nmero de muestras por unidad de tiempo que se toman de una seal continua para producir una seal discreta. La nomenclatura usada en el cdigo octave de todas las frecuencias se describe como sigue:

    fs [frecuencia de muestreo]: es la mxima frecuencia a muestrear.

    fny [frecuencia de nyquist]: es la mitad de la frecuencia de muestreo, cumpliendo con el teorema de muestreo de Nyquist-Shannon.

    fpass [frecuencias de paso]: son el rango de frecuencias en las que las el filtro dejara pasar.

    fstop [frecuencias de paro]: son el rango de frecuencias en las que las el filtro rechazar.

    fa: es la frecuencia de una componente de la seal

    de entrada. fb: es la frecuencia de la otra componente de la

    seal de entrada. Hay que recordar que se utilizan frecuencias normalizadas (con respecto a la frecuencia de muestreo) puesto que el diseo se defini para frecuencias menores a . Las frecuencias de corte se encuentran a partir de las bandas de paso y de rechazo, la frecuencia de corte baja se obtiene del promedio de la frecuencia de paro baja con la frecuencia de paso baja, y de la misma forma la frecuencia de corte superior es obtenida del promedio de las frecuencias de paro y paso altas. El clculo de la frecuencia se corte es el siguiente:

    fc1 =fstop 1 + fpass 1

    2=

    900 + 950

    2= 925 Hz

    fc2 =fstop 2 + fpass 2

    2=

    1150 + 1100

    2= 1125 Hz

    ANLISIS DE RESULTADOS

    Para obtener la respuesta en frecuencia de un filtro pasa banda, ese necesario traslapar la respuesta en frecuencia de un filtro paso baja y un filtro paso altas, siendo la frecuencia de corte del paso bajas mayor al del paso altas (clp > chp ), esto se logra

    modificando la frecuencia de corte del filtro pasa bajas a desplazar (para conseguir el pasa altas), es decir, es necesario ajustar la frecuencia de corte de la siguiente manera: fc1 = fny - (fstop(1) + fpass(1))/2; fc1 = 10e3 - (900 + 950)/2 = 9075 [Hz] Al desplazar el filtro paso bajos con esta frecuencia, se obtiene el filtro paso altas a la frecuencia de corte de verdadero inters, el resultado de la respuesta en frecuencia del filtro paso altas se muestra en la

    figura 5.

    Figura 4. Funcin de la ventana Hanning

    Figura 5. Respuesta en frecuencia del filtro paso altas

  • FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011

    Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas

    5

    La respuesta en frecuencia del filtro paso baja, cuya frecuencia de corte es mayor al del paso alta (e igual a fc2), se muestra en la figura 6.

    La figura 7 presenta la respuesta en frecuencia del filtro pasa banda de inters, el cual es el traslape de la figura 5 con la figura 6. El rizado que presenta la figura es atribuido al orden del filtro utilizado, y si bien es cierto no se generan exactamente el pulso rectangular esperado, el resultado es lo suficientemente aceptable, como se ver ms adelante cuando se filtre una seal de entrada. La aplicacin de la tcnica de ventaneo reduce considerablemente el efecto de Gibbs (rizado).

    Para conseguir una visualizacin ms detallada acerca de las frecuencias de paso y paso, se grafica la respuesta al impulso en escala logartmica en la figura 8, es decir, que es la misma grafica de la figura 7 pero en dB. En donde es apreciable que la mxima ganancia es unitaria para frecuencias entre 925 y 1125, y en la banda de rechazo la transferencia es inclusive menor que 0.0001 o

    104, o sea, cero. Tambin con ayuda de la funcin freqz sin retorno, se muestra la grafica de la fase del sistema, en donde es posible apreciar su linealidad.

    Tambin se muestra en la figura 9, la base de donde se parti para llegar a las graficas anteriores, que es la respuesta al impulso del sistema. Si bien es cierto carece del anlisis en frecuencia, es posible notar que tiene el comportamiento de una funcin sinc.

    Hasta este punto se han conseguido satisfactoriamente los resultados esperados del sistema (filtro pasa banda), su respuesta al impulso, su respuesta en frecuencia, la fase, etc.

    Figura 6. Respuesta en frecuencia del filtro paso bajas

    Figura 7. Respuesta en frecuencia del filtro pasa banda con y sin ventana

    Figura 8. Respuesta en frecuencia del filtro paso bajas en dB, se muestran la fase lineal del filtro FIR

    Figura 9. Respuesta al impulso del filtro paso banda, con 350 muestras y un filtro de longitud 256.

  • FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011

    Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas

    6

    Para comprobar que efectivamente que el sistema hace lo que se espera que haga: dejar pasar frecuencias entre 925 y 1125 (que es la banda de paso dada por las frecuencias de corte), y rechazar alguna otra frecuencia que este fuera de este rango (banda de rechazo). Ahora se debe analizar el correcto funcionamiento del filtrado, para esto se han definido arbitrariamente (y por facilidad), una seal de entrada compuesta por la suma de dos ondas sinusoidales. Las frecuencias de estas componentes se varan a modo que la seal de entrada tenga frecuencias de paso, o de rechazo. En el cdigo de octave, se manda a graficar la seal de entrada y sus componentes y por ltimo, se hace un contraste entre la seal de entrada y la de salida (es decir la seal filtrada). Como primera prueba, en la figura 10 se muestra que se han introducido frecuencias de 1000 Hz (frecuencia de paso, color azul) y 100 Hz (frecuencia de paro, color verde) en las componentes de la seal de entrada lo que produce una onda como la grafica de color rojo.

    En la figura 11, se compara la salida con la entrada, para notar que salida es nicamente la seal de color azul en la figura 10, que es la componente a la de 1000 Hz (la frecuencia de paso), y la frecuencia de 100 Hz se ha rechazado completamente.

    Como segunda prueba, se han introducido frecuencias de paso (975 Hz y 1075 Hz) en ambas componentes de la entrada, para este caso el resultado debera ser que salida sea igual a la entrada, que es exactamente lo que se muestra en la figura 12. En la ltima prueba, inversamente a la prueba anterior, se introducen frecuencias de paro (2000 Hz y 100 Hz) en ambas componentes de la seal de entrada, el resultado debera ser el rechazo completo de la seal, es decir, una salida cero, que es justamente lo que se muestra en figura 13.

    Figura 10. Seal de entrada y sus componentes.

    Figura 11. Comparacin de la entrada con la salida.

    Figura 12. Comparacin de la entrada con la salida. La salida es igual a la entrada.

    Figura 13. Comparacin de la entrada con la salida. La salida es cero.

  • FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011

    Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas

    7

    CONCLUSIONES.

    El uso de la tcnica del ventaneo es necesaria para truncar la respuesta al impulso ideal de duracin infinita de un filtro pasa bajo. Lo anterior se logra con una simple multiplicacin de la funcin de la ventana (hanning, para el caso) y la funcin en

    tiempo discreto de la hd[n] del filtro pasa bajo.

    El diseo de un filtro paso bajo es la base para disear cualquier otro tipo de filtro, como en el caso de inters, un filtro pasa banda, cuya respuesta en frecuencia, es el traslape (una simple multiplicacin) de la respuesta en frecuencia de un filtro paso baja y uno paso alta. En el dominio del tiempo la respuesta al impulso de un filtro pasa banda se obtiene al hacer la convolucion de la respuesta al impulso de un paso baja con un paso alta.

    El fenmeno de Gibbs o rizado que presentan las graficas puede ser reducido si no se toma una gran cantidad de muestras, y si se incrementa el orden del filtro. Debido a los rizos, la respuesta en frecuencia no era exactamente la ideal, sin embargo el fenmeno tambin se redujo al emplear la tcnica del ventaneo.

    Se logro comprobar el correcto funcionamiento del

    filtro diseado, al introducirle al sistema una entrada con dos frecuencias de paso o rechazo. El filtro, como se esperaba, dejo pasar las frecuencias entre 925 Hz y 1125 Hz (frecuencias de corte) y rechazo las frecuencias fuera a ese rango.

    La funcin freqz, realiza la transformada z a los coeficientes calculados de la respuesta al impulso, permitiendo observar la caracterizacin grfica de la respuesta en frecuencia y la fase del filtro.

    La implementacin del filtro digital FIR, refuerza el conocimiento sobre el anlisis de seales y sistemas, debido que se ponen en prctica los conceptos adquiridos dentro del curso, tales como la convolucion, las transformada Z, muestreo de seales etc. As tambin se aprendi a usar funciones de octave que son importantes para el anlisis de seales y sistemas que involucran filtros digitales, a base de ventaneo.

    BIBLIOGRAFA.

    Burrus, C. Sydney et a1., Ejercicios de Tratamiento Digital de la Seal utilizar MATLAB v4.

    Oppenheim, A. V. y Willsky, A. S. Anlisis de Seales y Sistemas. Prentice Hall, 1998.

    Digital Signal Processing using Matlab v.4. Vinay K. Ingle, John G. Proakis

    http://es.wikipedia.org/wiki/Ventana_%28funci%C3%B3n%29

    http://es.wikipedia.org/wiki/Transformada_Z

    http://www.tecnun.es/asignaturas/tratamiento%20digital/tds5.html

    http://www.gii.upv.es/personal/gbenet/doctorat/documentacion_adicional/lecciones%20de%20dsp/tema5.htmhttp://www.duiops.net/hifi/enciclopedia/filtro-digital-FIR.htm

    ANEXOS.

    El script o cdigo de octave se muestra a continuacin. Se empieza con la impresin en pantalla de los parmetros generales del filtro entre otros datos de los autores. Luego se definen los paramentaros generales a utilizar. Se define tambin la seal de entrada. Teniendo las frecuencias de corte, se procede a calcular la respuesta al impulso, convolucionando la respuesta al impulso de un filtro paso baja con un paso alto (recordar que por propiedad, lo que en el dominio frecuencia es una multiplicacin en el dominio del tiempo es una convolucion). Luego se procede a calcular la respuesta en frecuencia del filtro pasa banda con la funcin de octave freqz la cual hace la transformada z de la respuesta al impulso (h[n]) para obtener la respuesta en frecuencia (H ej ). Para el anlisis se grafican las respuestas en frecuencia de los filtros paso baja, paso alta y el pasa banda. El ltimo bloque de cdigo se define la salida del sistema y se manda a graficar, despus en otra figura se compara la salida con la entrada. El cdigo posee comentarios para facilitar la compresin del mismo. En la figura A, se muestra la corrida del cdigo en octave.

    Figura A. Corrida del cdigo en octave.

  • FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011

    Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas

    8

    Cdigo de Octave para el filtro FIR pasa banda con la ventana hanning.

    clc

    close all

    printf("\

    \n\

    \t\tUNIVERSIDAD DE EL SALVADOR\n\

    \t ESCUELA DE INGENIERIA ELECTRICA\n\

    \tANALISIS DE SENIALES Y SISTEMAS - CICLO I -

    2011\n\

    \n\

    ***** ***** * ***** **** ***

    ***** ***** **** \n\

    * * * * * * * * *

    * * * \n\

    **** * * * * ** * *

    **** * * ** \n\

    * * * * * * * * *

    * * * \n\

    * ***** ***** * * * *** *

    ***** * * \n\

    \n\

    **** ***** **** ***** **** ***** *

    * **** ***** \n\

    * * * * * * * * * * * **

    - * * * * \n\

    *** ***** **** ***** * ** ***** *

    * * * * ***** \n\

    * * * * * * * * * * *

    ** * * * * \n\

    * * * **** * * **** * * *

    * **** * * \n\

    \n\

    * * ***** * * * * ***** * *

    **** \n\

    * * * * ** * ** * * ** *

    * \n\

    ***** ***** * * * * * * * * *

    * * ** \n\

    * * * * * ** * ** * * **

    * * \n\

    * * * * * ** * * ***** * *

    *** \n\

    \n\

    \t\t\tPRESENTAN:\n\

    \tBr. Josue Gabriel Deras Campos

    DC08006\n\

    \tBr. Fredy Jonathan Quinteros Calzadia

    QC08002\n\

    \n\

    ");

    %$$$$$$$$$$ - PARAMETROS GENERALES DEL FILTRO

    - $$$$$$$$$$$$

    fs = 20e3; % frecuencia de muestreo

    fny = fs/2; % frecuencia de nyquist

    fstop = [900 1150];%frecuencias de paro

    (stop)

    fpass = [950 1100];%frecuencias de paso

    (pass)

    %Frecuencias de corte:

    fc1 = fny - (fstop(1) + fpass(1))/2; %fc1

    = 925, para el filtro pasaaltos

    fc2 = (fstop(2) + fpass(2))/2; %fc2

    = 1125

    fcn = [fc1/fs fc2/fs] ;

    %frecuencias de corte normalizada

    %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    $$$$$$

    %@@@@@@@@@@ - Senial de entrada al filtro FIR

    - @@@@@@@@@

    printf("\n La senial de entrada estara

    compusta por la suma de 2 seniales \

    sinusoidales a distinta frecuencia.\n\n\

    Las frecuencias de paso son de %d < f < %d

    [Hz]\n\

    Las frecuencias de paso son de f < %d and f

    > %d [Hz]\n\

    Las frecuencias de corte son: %d y %d [Hz]

    \n\n\

    Introduzca las frecuencias de las seniales

    sinusoidales a filtrar\n\n"\

    ,fpass(1),fpass(2),fstop(1),fstop(1),fny -

    fc1(1),fc2(1));

    fa = input(' Primer frecuencia a ser

    filtrada en Hz: '); % Recibe una frecuencia

    fb = input(' Segunda frecuencia a ser

    filtrada en Hz: '); % Recibe una frecuencia

    N = 350; % Total de muestras

    Demasiadas muestras dan mucho ruido

    t = 0:1/fs:(N-1)/fs; % Tiempo continuo

    x1_t = sin(2*pi*fa*t); %se1 en tiempo

    continuo

    x2_t = sin(2*pi*fb*t); %se2 en

    tiempo continuo

    x_in_t = x1_t + x2_t;%sede entrada en

    tiempo continuo

    % Conversion TC a TD

    n = t*fs;% Tiempo discreto

    x1_n = sin(2*pi*fa/fs*n); % se1 en

    tiempo discreto

    x2_n = sin(2*pi*fb/fs*n); % se2 en

    tiempo discreto

    x_in_n = x1_n + x2_n; % sede entrada en

    tiempo discreto

    figure(1)

    plot(t,x1_t,";senial 1;",t,x2_t,";senial

    2;",t,x_in_t,";senal de entrada;")% Sede

    Entrada

    title ('Sede Entrada a muestrar, con sus

    componentes');

    xlabel ("t [tiempo]" );

    ylabel ("x(t)" );

    grid on;

    axis([min(t) max(t) min(x_in_t)

    max(x_in_t)]);

    %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    @@@@@@@@@@@@

    %********** CALCULO DE LA h[n]**************

    M = 256; %longitud del filtro,

    orden = L-1

    nn = 0:M-1; %Tiempo Discreto

    w = hanning(M*2-1); % Aplicando la ventana

    hhp = (-1).**nn.*2*fcn(1).*

    sinc(2*fcn(1).*(nn-M/2)); % Filtro paso alto

    hlp = 2*fcn(2)* sinc(2*fcn(2)*(nn-M/2));

    % Filtro Paso Bajo

    hd = conv(hhp,hlp); % filtro pasabanda,

    respuesta al impulso ideal

    hbp = hd.*w'; % filtro pasabanda,

    respuesta al impulso con ventana

    figure(2);

    stem (hbp,"r;h[n];")

    title('h[n] - Respuesta al impulso en

    tiempo discreto con ventana hanning') ;

    xlabel ("n [muestras]" );

    ylabel ("h[n]" );

    axis([0 length(hbp) min(hbp) max(hbp)]);

    grid on;

    %********************************************

    %////// - GRAFICAS DE H(e^jw) [Respuesta en

    frecuencia] - //////

    ff = (0:512-1)*fny/(512-1); % Eje de

    Frecuencias con fny como maximo

    %se evaluan 512

    puntos por defecto

    Hhp = freqz(hhp,1); % aplicando la

    transformada z al filtro paso alta

  • FILTRO DIGITAL PASA BANDA USANDO LA VENTANA HANNING - 2011

    Tarea Ex - Aula No.2 Anlisis de Seales y Sistemas

    9

    Hlp = freqz(hlp,1); % aplicando la

    transformada z al filtro paso baja

    Hd = freqz(hd,1); % aplicando la

    transformada z al filtro pasabanda ideal

    H = freqz(hbp,1); % aplicando la

    transformada z al filtro pasabanda

    %se grafica la magnitud de la respuesta en

    frecuencia del filtro paso altas

    figure(3);

    plot(ff,abs(Hhp))

    grid on;hold on;

    axis([min(ff) 2000 1.1*min(abs(Hlp))

    1.1*max(abs(Hlp))]);

    title (" Hhp (e ^j ^w) - Respuesta en

    frecuencia del filtro paso altas");

    xlabel ("frecuencia [Hz]" );

    ylabel ("Hhp (e ^j ^w)" );

    %se grafica la magnitud de la respuesta en

    frecuencia del filtro paso bajas

    figure(4);

    plot(ff,abs(Hlp))

    grid on;hold on;

    axis([min(ff) 2000 1.1*min(abs(Hlp))

    1.1*max(abs(Hlp))]);

    title (" Hlp (e ^j ^w) - Respuesta en

    frecuencia del filtro paso bajas");

    xlabel ("frecuencia [Hz]" );

    ylabel ("Hlp (e ^j ^w)" );

    %se grafica la magnitud de la respuesta en

    frecuencia

    figure(5);

    subplot(211);

    plot(ff,abs(Hd))

    grid on;hold on;

    axis([min(ff) 2000 1.1*min(abs(Hd))

    1.1*max(abs(Hd))]);

    title (" Hd (e ^j ^w) - Respuesta en

    frecuencia ideal del sistema (sin ventana)");

    ylabel ("H (e ^j ^w)" );

    subplot(212);

    plot(ff,abs(H))

    grid on;hold on;

    axis([min(ff) 2000 1.1*min(abs(H))

    1.1*max(abs(H))]);

    title (" H (e ^j ^w) - Respuesta en

    frecuencia del sistema con ventana");

    ylabel ("H (e ^j ^w)" );

    xlabel ("frecuencia [Hz]" );

    %se grafica la respuesta en frecuencia en

    decibeles

    figure(6)

    loglog(ff,abs(H));

    grid on;hold on;

    axis([1e2 1e4 1e-4 1.1e0]);

    title (" H (e ^j ^w) - Respuesta en

    frecuencia del sistema en dB");

    xlabel ("frecuencia [Hz]" );

    ylabel ("H (e ^j ^w) [dB]" );

    %se grafica la respuesta en frecuencia en

    decibeles con su fase

    figure(7)

    freqz(hbp,1); % se grafica la fase

    %########## - Senial de salida del filtro FIR

    - #############

    y = conv(x_in_n,hbp); % respuesta del

    filtro a la funcion de entrada senoidal

    figure(8)

    plot(y)

    axis([200 length(y)-200]);

    title('Sede salida discreta del fitro

    pasabanda (y[n] = x[n]*h[n])')

    xlabel ("n [muestras]" );

    ylabel ("y[n]" );

    grid on;

    %Comparacion de la sede entrada con el filtro

    figure(9)

    subplot(211)

    plot(n,x_in_n)

    title('sede entrada');

    ylabel ("x[n]" );

    grid on;

    subplot(212)

    plot(y)

    axis([200 length(y)-200 min(x_in_n)

    max(x_in_n)]);

    title('Filtrado de la sede entrada');

    xlabel ("tiempo discreto [muestras]" );

    ylabel ("y[n]" );

    grid on;

    %#############################################

    ##############