20
Diseño de Filtros Digitales Procesamiento Digital de Señales Ingeniería Electrónica, Fac. de Ciencias Universidad Autónoma de San Luis Potosí M.I.E. Isnardo Reducindo Ruiz [email protected] [email protected]

DigitalFiltersDesign.pdf

Embed Size (px)

Citation preview

  • Diseo de Filtros Digitales

    Procesamiento Digital de Seales

    Ingeniera Electrnica, Fac. de Ciencias

    Universidad Autnoma de San Luis Potos

    M.I.E. Isnardo Reducindo Ruiz

    [email protected]

    [email protected]

  • Introduccin

    Un filtro digital es un conjunto de operaciones realizadas sobre seales discretas y cuantizadas, implementado como un circuito digital o como un programa.

    Un filtro digital es la implementacin en hardware o Un filtro digital es la implementacin en hardware o software de una ecuacin en diferencias.

    Ventajas de los filtros digitales

    Inmunidad al ruido

    Fcil de implementar

    Bajo costo

    Alta precisin

    Diseo de Filtros 2Procesamiento Digital de Seales

  • Clasificacin

    FIR (Finite Impulse Response)

    La respuesta al impulso es de duracin finita

    La salida depende slo de la entrada

    Ecuacin en diferencias Ecuacin en diferencias

    Funcin de transferencia

    ][]1[][][ 10 Mnxanxanxany M +++= K

    MM zazaazH

    +++= K110)(Diseo de Filtros 3Procesamiento Digital de Seales

  • Clasificacin

    IIR (Infinite Impulse Response)

    La respuesta al impulso es de duracin infinita

    La salida depende de la entrada y salidas pasadas

    Ecuacin en diferencias Ecuacin en diferencias

    Funcin de transferencia

    =+++ ][]1[][ 1 Nnybnybny NK

    NN

    MM

    zbzbzazaa

    zH

    +++

    +++=

    K

    K

    11

    110

    1)(

    ][]1[][ 10 Mnxanxanxa M +++ K

    Diseo de Filtros 4Procesamiento Digital de Seales

  • Clasificacin

    Diseo de Filtros 5Procesamiento Digital de Seales

  • Clasificacin

    Proceso de diseo: Establecer las especificaciones del filtro

    Determinar la funcin de transferencia

    Implementar la funcin de transferencia

    FIR o IIR? FIR o IIR? Los FIR son de fase lineal

    FIR siempre estables

    IIR producen distorcin en la fase

    El orden de un IIR es mucho menor

    IIR proporcionan mejor atenuacin en la banda de rechazo

    Diseo de Filtros 6Procesamiento Digital de Seales

  • Espesificaciones de un Filtro

    fc Frecuencia de corte

    fr Frecuencia de rechazo

    k1 Ganancia de la frecuencia de corte

    k2 Ganancia de la frecuencia de rechazo

    Diseo de Filtros 7Procesamiento Digital de Seales

  • Diseo de un Filtro IIR

    El objetivo es encontrar el polinomio que mejorcumple las especificaciones (Butterworth, Chevysheb, etc.)

    Diseo de Filtros 8Procesamiento Digital de Seales

    Etapas del diseo:

    Normalizar la frecuencia

    Determinar el orden del filtro

    Determinar la funcin de transferencia

    Desnormalizar el filtro

  • Aproximacin Butterworth

    Se parte de un prototipo de filtro pasa-bajas

    normalizado donde se usa una frecuencia

    normalizadanf

    H 22

    1

    1)(

    +

    =

    donde n es el orden del polinomio.

    Diseo de Filtros Procesamiento Digital de Seales 9

    cf1

    +

    =

    c

    r

    k

    k

    ffn log

    110110log

    21

    1.0

    1.0

    1

    2

  • Diseo de Filtros Procesamiento Digital de Seales 10

  • Aproximacin Butterworth

    Obtenemos la funcin de transferencia

    desnormalizando el filtro

    = f

    sHsH )(

    Podemos obtener un filtro pasa-altas

    simplemente

    Diseo de Filtros Procesamiento Digital de Seales 11

    escf

    )(1)( sHs

    fHsH esc =

    =

  • Aproximacin Butterworth

    Cumplir con el requerimiento de ganancia en

    fc

    ( ) nkc

    esc

    ff21

    10/ 110 =

    Si lo que interesa es cumplir con la ganacia en

    fr

    Diseo de Filtros Procesamiento Digital de Seales 12

    ( ) nk 210/ 110 1

    ( ) nkr

    esc

    ff21

    10/ 110 2 =

  • Otras Aproximaciones

    ChebychevI

    ChebychevII

    Elptica

    Dado que estas aproximaciones se llevan porun camino similar a la Butterworth y debido a la premura del tiempo, se optar por verdichas aproximaciones simplemente en la prctica.

    Diseo de Filtros Procesamiento Digital de Seales 13

  • Diseo de Filtros Digitales IIR con

    MATLAB

    Funcin para determinar el orden de un filtro

    Butterworth:

    [n,fesc] = buttord(fc,fr,k1,k2);

    Calcula el orden requerido de un filtro butterworth con las especificacionesCalcula el orden requerido de un filtro butterworth con las especificaciones

    indicadas. Las frecuencias deben estar normalizadas con respecto a la

    frecuencia de Nyquist y las atenuaciones son en decibeles

    Diseo de Filtros Procesamiento Digital de Seales 14

    Tipo de filtro Condiciones f -> size

    Low-pass fc < fr f -> escalar

    High-pass fc > fr f -> escalar

    Band-pass fr(1) < fs(1) < fs(2) < fr(2) f = [f1 f2]

    Band-stop (notch) fc(1) < fr(1) < fr(2) < fc(2) f = [f1 f2]

  • Diseo de Filtros Digitales IIR con

    MATLAB

    Funciones para determinar el orden de un

    filtro ChebichevI y II, y Elptico:

    [n,fesc] = cheb1ord(fc,fr,k1,k2);

    [n,fesc] = cheb2ord(fc,fr,k1,k2);

    [n,fesc] = ellipord(fc,fr,k1,k2);

    Las frecuencias deben estar normalizadas con respecto a la frecuencia de

    Nyquist y las atenuaciones son en decibeles. Se deben cumplir las

    condiciones de la tabla de la diapositiva anterior.

    Diseo de Filtros Procesamiento Digital de Seales 15

  • Diseo de Filtros Digitales IIR con

    MATLAB

    Funcin para determinar los coeficientes de

    un filtro Butterworth de orden n:

    [b,a] = butter(n,fesc,type);

    Obtiene los coeficientes de un filtro butterworth de orden n.Obtiene los coeficientes de un filtro butterworth de orden n.

    Diseo de Filtros Procesamiento Digital de Seales 16

    Tipo de filtro type f -> size

    Low-pass f -> escalar

    High-pass high f -> escalar

    Band-pass f = [f1 f2]

    Band-stop (notch) stop f = [f1 f2]

  • Diseo de Filtros Digitales IIR con

    MATLAB

    Funcin para determinar los coeficientes de

    un filtro ChebychevI y II, y Elptico de orden n:

    [b,a] = cheby1(n,Rp,fesc,type);

    [b,a] = cheby2(n,R ,f ,type);[b,a] = cheby2(n,Rr,fesc,type);

    [b,a] = ellip(n,Rp,Rr,fesc,type);

    Rp -> Rizo en la banda paso (decibeles).

    Rr -> Rizo en la banda de rechazo (decibeles).

    El type corresponde al de la tabla de la diapositiva anterior.

    Diseo de Filtros Procesamiento Digital de Seales 17

  • Diseo de Filtros Digitales IIR con

    MATLAB

    Funcin para observar la respuesta en

    frecuencia de un filtro digital:

    w = 0:fs/2;

    freqz(b,a,w,fs);freqz(b,a,w,fs);

    fs -> frecuencia de muestreo.

    w -> variable para graficar en frecuencia

    Diseo de Filtros Procesamiento Digital de Seales 18

  • Diseo de Filtros Digitales IIR con

    MATLAB

    Funcin para aplicar un filtro digital a una

    seal:

    y = filter(b,a,x);

    x -> seal original.

    y -> seal filtrada.

    y = filtfilt(b,a,x);Evita la distorcin en fase producida por los filtros IIR

    Diseo de Filtros Procesamiento Digital de Seales 19

  • Diseo de Filtros Digitales FIR con

    MATLAB

    b = fir1(n,f,type);

    n -> Se decide personalmente

    f -> frecuencias normalizadas con respecto a la frecuencia de Nyquist

    (Diapositiva 14)

    type -> tipo de filtro (Diapositiva 16). GUI para diseo de filtrostype -> tipo de filtro (Diapositiva 16).

    freqz(b,1,w,fs);Diapositiva 18

    y = conv(b,x); y = filter(b,1,x);

    Aplica el filtro

    Diseo de Filtros Procesamiento Digital de Seales 20

    GUI para diseo de filtros

    fdatool