Sase 2012 Track Dsp 05

download Sase 2012 Track Dsp 05

of 72

Transcript of Sase 2012 Track Dsp 05

  • 8/17/2019 Sase 2012 Track Dsp 05

    1/72

    Filtros IIR en FPGADisertantes:Marcos CervettoIngeniero Electrónico - UBALaboratorio de Radiocomunicaciones - INTIEdgardo MarchiIngeniero Electrónico - UBALaboratorio de Radiocomunicaciones - INTI

  • 8/17/2019 Sase 2012 Track Dsp 05

    2/72

    Filtros IIR en FPGA

    Agenda

    Introducción

    Estructuras básicas

    Cuantización

    Estructuras avanzadas

    Filtros IIR rápidos

    Sistema RNS

    Resumen

  • 8/17/2019 Sase 2012 Track Dsp 05

    3/72

    Filtros IIR en FPGA

    Agenda

    Introducción

    Estructuras básicas

    Cuantización

    Estructuras avanzadas

    Filtros IIR rápidos

    Sistema RNS

    Resumen

  • 8/17/2019 Sase 2012 Track Dsp 05

    4/72

    Introducción

    Técnicas de diseño de IIR

    ¿Por qué

    El dise!o de "iltros analó#icos es un tema ampliamentedesarrollado $ estudiado

    %uc&os métodos de dise!o analó#icos tienen "órmulascerradas relativamente simples

    'a aplicación de estas "órmulas en "orma directa al casodiscreto no lleva a "órmulas cerradas simples

    ¿Por qué

    El dise!o de "iltros analó#icos es un tema ampliamentedesarrollado $ estudiado

    %uc&os métodos de dise!o analó#icos tienen "órmulascerradas relativamente simples

    'a aplicación de estas "órmulas en "orma directa al casodiscreto no lleva a "órmulas cerradas simples

    Filtro analógico

    Filtro analógico Filtro discreto

    Filtro discreto

  • 8/17/2019 Sase 2012 Track Dsp 05

    5/72

    Introducción

    Técnicas de diseño de IIR

    Indirecto

    %étodo de invarianza al impulso

    (rans"ormación bilineal

    )pro*imación de derivadas

    Directo

    +ise!o por la apro*imación de Padé

    +ise!o por apro*imación de m,nimos cuadrados-

  • 8/17/2019 Sase 2012 Track Dsp 05

    6/72

    Introducción

    Tipos clásicos de iltros IIR

    Butterworth Chebyshevtipo IChebyshev

    tipo II Elíptico

    Banda depaso

    Plana( !timo" E#uiri!!le Plana E#uiri!!le

    Banda detransición

    Anc$a %oderada %oderada Angosta

    Banda derechazo

    Plana Plana E#uiri!!le E#uiri!!le

    &rden' Alto %edio %edio Ba o

    *En general, el orden del filtro para lograr especificación deter inada

  • 8/17/2019 Sase 2012 Track Dsp 05

    7/72

    Introducción

    Estructuras !ásicas

    Nos restrin#imos a sistemas con trans"erencia.

    Racional

    Estable

    Causal

    +e coe"icientes reales

    0

    1

    ( )1

    M k

    k

    k N

    k k

    k

    b z H z

    a z

    -

    =

    -

    =

    =-

    å

    å0

    1

    ( )1

    M k

    k

    k N k

    k k

    b z

    H z a z

    -

    =

    -

    =

    =-

    å

    å

  • 8/17/2019 Sase 2012 Track Dsp 05

    8/72

    Introducción

    Estructuras !ásicas

    Ejemplo

    01 2

    1 2

    ( )1

    b H z a z a z - -

    =- -

    1 2 0[ ] [ 1] [ 2] [ ] y n a y n a y n b x n= - + - +

  • 8/17/2019 Sase 2012 Track Dsp 05

    9/72

    Introducción

    Estructuras !ásicas

    Ejemplo

    3[ 1] [ ] [ ]

    4 y n y n x n+ = +

    LIBRARY ieee;USE ieee.std_logic_1164. ALL;USE ieee.numeric_std. ALL;

    ENTITY iir IS!RT "#_in $ IN ST%_L!&I'_(E'T!R " 1) do*nto +, ; -- Input

    -_out $ !UT ST%_L!&I'_(E'T!R " 1) do*nto +,; -- Result cl $ IN ST%_L!&I' ; rst $ IN ST%_L!&I'

    ,;EN% iir;

    AR'/ITE'TURE 0 g2 !3 iir ISSI&NAL #_u -_u$ signed" 1) do*nto +,;BE&IN

    R!'ESS "cl rst, -- Use FF for input and recursive part BE&IN i0 rst 5 1 t7en -_u 85 " ot7ers 59 + ,; elsi0 "cl 5 1 2nd cl e:ent , t7en -_u 85 #_u -_u< 4 -_u< =; end i0 ; end rocess ;

    #_u 85 signed"#_in,;-_out 85 std_logic_:ector "-_u,; -- Connect y to output pins

    EN% 0 g2;

  • 8/17/2019 Sase 2012 Track Dsp 05

    10/72

    Introducción

    Estructuras !ásicas

    1 0

    [ ] [ ] [ ] N M

    k k

    k k

    y n a y n k b x n k = =

    - - = -å å

    0

    1

    ( )1

    M k

    k

    k N

    k k

    k

    b z

    H z a z

    -

    =

    -

    =

    =-

    å

    å

    Ecuación en diferencias

    !ransferencia

  • 8/17/2019 Sase 2012 Track Dsp 05

    11/72

    Introducción

    Estructuras !ásicas

    1 0

    [ ] [ ] [ ] N M

    k k k k

    y n a y n k b x n k = =

    - - = -å åForma directa I

  • 8/17/2019 Sase 2012 Track Dsp 05

    12/72

    Introducción

    Estructuras !ásicas

    Forma directa I

    Se puede pensar como una sección todo cero / "or0ard "ilter 1se#uida de una sección todo polo

    No &a$ posibilidad de 2 over"lo0 interno3 en punto "i4o si elresultado es válido- 'a ma$or,a de las estructuras IIR no poseenesta propiedad- (iene el doble de dela$s de los que son necesarios Como todas las "ormas directas5 es sensible a los errores

    introducidos por la cuanti"icación de los coe"icientes Es usado para implementaciones de 6er o 7do orden

  • 8/17/2019 Sase 2012 Track Dsp 05

    13/72

    Introducción

    Estructuras !ásicas

  • 8/17/2019 Sase 2012 Track Dsp 05

    14/72

    Introducción

    Estructuras !ásicas

    Forma directa IIó canónica

  • 8/17/2019 Sase 2012 Track Dsp 05

    15/72

    Introducción

    Estructuras !ásicas

    BOOST ATTENUATION

    BOOST:

    "" #ango din$ ico ATTENUATION:

    %% #ango din$ ico

  • 8/17/2019 Sase 2012 Track Dsp 05

    16/72

    Introducción

    Estructuras !ásicas

    Forma directa II ó canónica

    Se puede pensar como una sección todo polo /IIR1 se#uida deuna sección todo cero /FIR1

    E*iste posibilidad de over"lo0 Es canónico- (iene la m,nima cantidad de dela$s Como todas las "ormas directas5 es sensible a los errores

    introducidos por el redondeo de los coe"icientes

    Su uso es limitado debido a que necesita acomodar ma$orran#o dinámico en la sección IIR

  • 8/17/2019 Sase 2012 Track Dsp 05

    17/72

    Introducción

    Estructuras !ásicas

    Formas traspuestasFór ula de ganancia de &ason

  • 8/17/2019 Sase 2012 Track Dsp 05

    18/72

    Introducción

    Estructuras !ásicas

    Recordando +F I

  • 8/17/2019 Sase 2012 Track Dsp 05

    19/72

    Introducción

    Estructuras !ásicas

    )plicando %ason a +FI

  • 8/17/2019 Sase 2012 Track Dsp 05

    20/72

    Introducción

    Estructuras !ásicas

    8irando obtenemos Forma Directa I Traspuesta

  • 8/17/2019 Sase 2012 Track Dsp 05

    21/72

    Introducción

    Estructuras !ásicas

    Forma Directa II Traspuesta

    Primero los ceros $ depués lospolos

    Posee robustez numérica "rentea over"lo0 Es canónico

  • 8/17/2019 Sase 2012 Track Dsp 05

    22/72

    Filtros IIR en FPGA

    Agenda

    Introducción

    Estructuras básicas

    Cuantización

    Estructuras avanzadas

    Filtros IIR rápidos

    Sistema RNS

    Resumen

  • 8/17/2019 Sase 2012 Track Dsp 05

    23/72

    Introducción

    Cuánti"ación

    )l cuantizar5 &a$ que veri"icar que el "iltro si#a cumpliendo con lasespeci"icaciones )nalizar los e"ectos de la cuantización en "orma #eneral5 es

    sumamente comple4o- 9a$ resultados $ principios #enerales queorientan el dise!o

    Cuantización

    Cuantización de coe"icientes

    Cuantización aritmética

  • 8/17/2019 Sase 2012 Track Dsp 05

    24/72

    Introducción

    Cuánti"ación

    Cuantización aritmética

    Factores de interés. )nc&o de palabra

    :rappin# ; saturación (runcado ; redondeo Escalado en di"erentes etapas Estabilidad. polos cercanos a la circun"erencia unitaria

  • 8/17/2019 Sase 2012 Track Dsp 05

    25/72

    Introducción

    Cuánti"ación

    'os polos $ los ceros se desplazan de sus posiciones por e"ectonumérico- 'a respuesta en "recuencia var,a- Es conveniente analizar la sensibilidad a la cuantización de los

    coe"icientes

    0

    1

    ( )1

    M k

    k

    k N k

    k k

    b z

    H z a z

    -

    =

    -

    =

    =-

    å

    å

    'olva os a nuestra (uerida transferencia

    0

    1

    ( )

    1

    M k

    k k

    N k

    k k

    b z H z

    a z

    -

    =

    -

    =

    =

    -

    å

    å

    Coeficientes reales

    Coeficientes cuantizados

    k k k a a a= + D

    k k k b b b= + D

    Cuantización de coe"icientes

  • 8/17/2019 Sase 2012 Track Dsp 05

    26/72

    Introducción

    Cuánti"ación de coe icientes

    1

    1 1

    ( ) 1 (1 ) N N

    k k k

    k k

    D z a z p z - -= =

    = - = -å Õ 11 1

    ( ) 1 (1 ) N N

    k k k

    k k

    D z a z p z - -= =

    = - = -å Õ

    k k k p p p= + D

    1

    N i

    i k k k

    p p a

    a=

    ¶D = D

    ¶å

    )ebe os relacionar con la el error de cuantización de cada coeficientesi pD k aD

    1

    1

    ( )

    N k N i

    i k N k

    i l l l i

    p p a

    p p

    -

    =

    D = D-

    åÕ

    Para minimizar el efecto de la cuantización de los coeficientes, los polos (y los ceros)

    deben ser distantes entre sí.

    Para minimizar el efecto de la cuantización de los coeficientes, los polos (y los ceros)

    deben ser distantes entre sí.

  • 8/17/2019 Sase 2012 Track Dsp 05

    27/72

    Introducción

    Ciclos l#$ite

    En sistemas recursivos 5 las alinealidades debida a la aritmética deprecisión "inita a menudo causan oscilaciones5 incluso para entradanula

    E4emplo. 1 2[ ] [ ] [ [ 1]] [ [ 2]] y n x n Q a y n Q a y n= + - + - ) ) )

    1

    30.110

    4a = =

    [ ] 0 0 x n n= " ³

    3[ 1] 0.1104 y - = =

    )

    3[ 2] 1.010

    4 y - = - = )

    [0] 0.110 0.110 1.010 1010 y = ´ + ´ )

    [0] 0.100100 0.100100 y = + )

    3[0] 0.101 0.101 1.0104

    y = + = = - )

    3[1] 1.011 1.011 0.110

    4 y = + = = )

    2

    31.010

    4a = - =

    Calculando para n< =---

    Repitiendo el cálculo para n < 6---

  • 8/17/2019 Sase 2012 Track Dsp 05

    28/72

    Introducción

    Cuánti"ación de coe icientes

    El e"ecto de la cuantización de los coe"icientes debe tenersesiempre en cuenta5 especialmente en IIR5 al implementarlo conprecisión "inita

    'a estructura del "iltro es clave Se suele dividir un "iltro de alto orden en un paralelo o una

    cascada de "iltros de primer $ se#undo orden En #eneral5 los polos /o ceros1 comple4os con4u#ados

    #arantizan un ale4amiento su"iciente

    El e"ecto de la cuantización de los coe"icientes debe tenersesiempre en cuenta5 especialmente en IIR5 al implementarlo conprecisión "inita

    'a estructura del "iltro es clave Se suele dividir un "iltro de alto orden en un paralelo o una

    cascada de "iltros de primer $ se#undo orden En #eneral5 los polos /o ceros1 comple4os con4u#ados

    #arantizan un ale4amiento su"iciente

  • 8/17/2019 Sase 2012 Track Dsp 05

    29/72

    Filtros IIR en FPGA

    Agenda

    Introducción

    Estructuras básicas

    Cuantización

    Estructuras avanzadas

    Filtros IIR rápidos

    Sistema RNS

    Resumen

  • 8/17/2019 Sase 2012 Track Dsp 05

    30/72

    Introducción

    Estructuras avan"adas

    Forma en cascada

    1 2

    1 2

    1 1 * 1

    1 1

    1 1 * 1

    1 1

    (1 ) (1 )(1 )( )

    (1 ) (1 )(1 )

    M M

    k k k k k N N

    k k k k k

    f z g z g z H z A

    c z d z d z

    - - -

    = =

    - - -

    = =

    - - -=

    - - -

    Õ Õ

    Õ Õ

    )esco posición en productos de pri er orden y de segundo orden

    1 22 M M M = + 1 22 N N N = +

  • 8/17/2019 Sase 2012 Track Dsp 05

    31/72

    Introducción

    Estructuras avan"adas

    Forma en cascadaEn la pr$ctica se agrupan en factores de segundo orden, así

    1 20 1 2

    1 21 1 2

    ( ) 1

    S N k k k

    k k k

    b b z b z H z a z a z

    - -

    - -=

    + += - -Õ

    Cascada de For as )irectas II

  • 8/17/2019 Sase 2012 Track Dsp 05

    32/72

    Introducción

    Estructuras avan"adas

    Forma en paralelo)esco posición en su as de pri er orden y de segundo orden

    1 22 N N N = +

    p N M N = -

    1 2 1

    1 1 * 10 1 1

    (1 )

    ( ) 1 (1 )(1 )

    p N N N k k k k

    k k k k k k k

    A B e z

    H z C z c z d z d z

    --

    - - -= = =

    -= + +

    - - -å å å

    10 1

    1 20 1 1 2

    ( )1

    p s N N k k k

    k k k k k

    e e z H z C z

    a z a z

    --

    - -= =

    += +

    - -å å

    En general, se agrupan en factores de segundo orden

  • 8/17/2019 Sase 2012 Track Dsp 05

    33/72

    Introducción

    Estructuras avan"adas

    Forma en paralelo

  • 8/17/2019 Sase 2012 Track Dsp 05

    34/72

    Introducción

    Estructuras avan"adas

    Cascada y paralelo Permite independizar un #rupo de polos /ceros1 de otro )l minimizar el orden de los subsistemas5 se reduce la

    sensibilidad a la cuantización Cascada es pre"erido cuando todas las secciones act>an sobre

    la misma banda Paralelo es pre"erido cuando las secciones act>an en

    di"erentes bandas /"iltros multibanda1 En Paralelo no lo#ramos independencia en el control sobre los

    ceros? dependen de 9/z1 en su totalidad En el caso de buscar coe"icientes variantes en el tiempo5 es

    más "ácil controlarlos

    Permite independizar un #rupo de polos /ceros1 de otro )l minimizar el orden de los subsistemas5 se reduce la

    sensibilidad a la cuantización

    Cascada es pre"erido cuando todas las secciones act>an sobrela misma banda Paralelo es pre"erido cuando las secciones act>an en

    di"erentes bandas /"iltros multibanda1

    En Paralelo no lo#ramos independencia en el control sobre losceros? dependen de 9/z1 en su totalidad En el caso de buscar coe"icientes variantes en el tiempo5 es

    más "ácil controlarlos

  • 8/17/2019 Sase 2012 Track Dsp 05

    35/72

    +olos en

    Introducción

    Estructuras avan"adas

    Análisis de sección de polos

    j z re f ±=

    1 1

    1( )

    (1 )(1 ) j j H z

    re z re z f f - - -=

    - -

    2

    1( )

    (1 2 cos( ) ) H z

    r r f =

    - +

  • 8/17/2019 Sase 2012 Track Dsp 05

    36/72

    Introducción

    Estructuras avan"adas

    Cuantización de ! bits Cuantización de " bits

  • 8/17/2019 Sase 2012 Track Dsp 05

    37/72

    Introducción

    Estructuras avan"adas

    Forma acopladaForma acoplada

    j z re f ±=+olos en

    Misma transferencia

    Mayor cantidad de multiplicadores

    ¿Cuál es la ventaja?

    Misma transferencia

    Mayor cantidad de multiplicadores

    ¿Cuál es la ventaja?

  • 8/17/2019 Sase 2012 Track Dsp 05

    38/72

    Introducción

    Estructuras avan"adas

    Cuantización de ! bits Cuantización de " bits

  • 8/17/2019 Sase 2012 Track Dsp 05

    39/72

    Introducción

    Resu$en de estructuras

    Forma +irecta I $ II /$ traspuestos1 Paralelo $ Cascada @iAuad

    Normal B cascada de sistemas de variable de estado de 6er o7do orden Paralelo normal 'attice

    :ave 8eneral state space ---etc

    Forma +irecta I $ II /$ traspuestos1 Paralelo $ Cascada @iAuad

    Normal B cascada de sistemas de variable de estado de 6er o7do orden Paralelo normal 'attice

    :ave 8eneral state space ---etc

  • 8/17/2019 Sase 2012 Track Dsp 05

    40/72

    Filtros IIR en FPGA

    Agenda

    Introducción

    Estructuras básicas

    Cuantización

    Estructuras avanzadas

    Filtros IIR rápidos

    Sistema RNS

    Resumen

  • 8/17/2019 Sase 2012 Track Dsp 05

    41/72

    Filtros IIR rápidos

    Técnicas

    Introducir pipelines en el "eedbac mu$ probablemente muevalos polos de lu#ar

    9a$ estrate#ias para incrementar el t&rou#&put que &an sidoestudiadas. 'oo B a&ead time domain interleavin#

    Clustered loo B a&ead pole;zero assi#nment

    Scaterred loo B a&ead pole;zero assi#nment Procesamiento paralelo Implementación RNS

    Introducir pipelines en el "eedbac mu$ probablemente muevalos polos de lu#ar 9a$ estrate#ias para incrementar el t&rou#&put que &an sido

    estudiadas. 'oo B a&ead time domain interleavin#

    Clustered loo B a&ead pole;zero assi#nment

    Scaterred loo B a&ead pole;zero assi#nment Procesamiento paralelo Implementación RNS

    No es tan sencillo usar pipelines co o en FI#El proble a b$sico surge por(ue

  • 8/17/2019 Sase 2012 Track Dsp 05

    42/72

    Filtros IIR rápidos

    %oo& ' ahead Ti$e (o$ain Interleaving

    Considerando un siste a de er orden

    [ ] [ 1] [ 1] y n ay n bx n= - + -[ ] [ 1] [ 1] y n ay n bx n= - + -

  • 8/17/2019 Sase 2012 Track Dsp 05

    43/72

    Filtros IIR rápidos

    %oo& ' ahead Ti$e (o$ain Interleaving

    &irando -adelante. en el tie po[ 1] [ ] [ ] y n ay n bx n+ = +

    2[ 2] [ 1] [ 1] [ ] [ ] [ 1] y n ay n bx n a y n abx n bx n+ = + + + = + + +

    1

    0[ ] [ ] [ 1 ]

    B B k

    k y n B a y n a bx n B k

    -

    =+ = + + - -å

  • 8/17/2019 Sase 2012 Track Dsp 05

    44/72

    Filtros IIR rápidos

    %oo& ' ahead Ti$e (o$ain InterleavingLIBRARY ieee;

    USE ieee.std_logic_1164. ALL;USE ieee.numeric_std. ALL;

    ENTITY iir IS!RT "#_in $ IN ST%_L!&I'_(E'T!R " 1) do*nto +, ; -- Input

    -_out $ !UT ST%_L!&I'_(E'T!R " 1) do*nto +,; -- Result cl $ IN ST%_L!&I' ; rst $ IN ST%_L!&I' ,;EN% iir;

    AR'/ITE'TURE 0 g2 !3 iir IS SI&NAL #_u -_u -_d$ signed" 1) do*nto +,; SI&NAL #> s# -?$ signed" 1) do*nto +,;BE&IN

    R!'ESS "cl rst, -- Use FF for input and recursive part BE&IN i0 rst 5 1 t7en

    -_u 85 " ot7ers 59 + ,; i0 "cl 5 1 2nd cl e:ent , t7en

    #> 85 #_u < = #_u < 4; -- Compute x*3/4 s# 85 #_u #>; -- Sum of x element i.e. output FIR part -? 85 -_u < = -_u < 16 ; -- Compute y* /!" -_u 85 s# -?; @-- Compute output end i0 ;end rocess ;

    #_u 85 signed"#_in,; -_out 85 std_logic_:ector "-_u,; -- Connect y to output pinsEN% 0 g2;

    34

    ab =

    1b =

    2 916

    a =

  • 8/17/2019 Sase 2012 Track Dsp 05

    45/72

    Filtros IIR rápidos

    %oo& ' ahead Ti$e (o$ain Interleaving

    Propiedades. 'a sección "or0ard puede usar pipeline para incrementar

    t&rou#&put

    'a sección "eedbac puede usar un multiplicador pipelinedpara el coe"iciente'a #anancia en velocidad es a costa de muc&os más

    recursos

    Se incrementa el dela$ total del sistema

    Propiedades. 'a sección "or0ard puede usar pipeline para incrementar

    t&rou#&put

    'a sección "eedbac puede usar un multiplicador pipelinedpara el coe"iciente'a #anancia en velocidad es a costa de muc&os más

    recursos Se incrementa el dela$ total del sistema

    S a

  • 8/17/2019 Sase 2012 Track Dsp 05

    46/72

    Filtros IIR rápidos

    Clustered loo& ' ahead pole)"ero assign$ent

    Considerando el siguiente siste a

    1 1 1 21 2 1 2 1 2

    1 1( )

    (1 )(1 ) 1 ( ) H z

    r z r z r r z r r z - - - -= =

    - - - + +

    11 2

    1 1 21 2 1 2 1 2

    1 ( )( )

    (1 ( ) )(1 ( ) )r r z

    H z r r z r r z r r z

    -

    - - -

    + +=

    + + - + +

    11 2

    1 2 1 2 2 31 2 1 2 1 2 1 2 1 2 1 2

    1 ( )( )

    1 ( ) ( ) ( ) ( )

    r r z H z

    r r z r r z r r z r r z r r r r z

    -

    - - - - -

    + +=

    - + + + + - + + +

    11 22 2 3

    1 2 1 2 1 2 1 2

    1 ( )( )

    1 ( ( ) ) ( )r r z

    H z r r r r z r r r r z

    -

    - -

    + +=

    + - + + +

    11 22 2 3

    1 2 1 2 1 2 1 2

    1 ( )( )

    1 ( ( ) ) ( )r r z

    H z r r r r z r r r r z

    -

    - -

    + +=

    + - + + +

    /gregando un par polo0cero

  • 8/17/2019 Sase 2012 Track Dsp 05

    47/72

    Filtros IIR rápidos

    Clustered loo& ' ahead pole)"ero assign$ent

    1 2 1 1

    1 1( )

    1 1, 25 0,375 (1 0,5 )(1 0,75 ) H z

    z z z z - - - -= =

    - + - -

    1

    2 3

    1 1, 25( )

    1 1,1875 0,4688 z

    H z z z

    -

    - -

    +=

    - +

    !eniendo un siste a de segundo orden

    Insertando un polo0cero en 12r 3r45

    6a parte recursiva ahora puede ser i ple entada con una etapaadicional de pipeline

    6a ani(uilación polo0cero tiene (ue ser perfecta o el siste apuede ser inestable

    Pro

    Contra

  • 8/17/2019 Sase 2012 Track Dsp 05

    48/72

    Filtros IIR rápidos

    *cattered loo& ' ahead pole)"ero assign$ent

    Introduce M-1 polos0ceros dentro de la circunferencia unitaria, por lo cual

    no tiene proble as de estabilidad

    7e introducen &1 ceros y polos en2

    j M z re

    p ±=

  • 8/17/2019 Sase 2012 Track Dsp 05

    49/72

    Filtros IIR rápidos

    *cattered loo& ' ahead pole)"ero assign$ent

    1 2 1 1

    1 1( )

    1 1, 25 0,375 (1 0,5 )(1 0,75 ) H z

    z z z z - - - -= =

    - + - -

    !eniendo el is o siste a de segundo orden

    Insertando un polo0cero en230.5 j z ep

    ±=230.75 j z ep

    ±=y en

    1 2

    1( )

    1 1, 25 0, 375 H z

    z z - -=

    - +

    1 2 1 2

    1 2 1 2

    (1 0,5 0, 25 )(1 0,75 0,5625 )(1 0,5 0, 25 )(1 0,75 0,5625 )

    z z z z z z z z

    - - - -

    - - - -

    + + + +

    + + + +

    1 2 3 4

    3 6

    1 1, 25 1,1875 0, 4687 0,1406( ) 1 0, 5469 0, 0527

    z z z z H z z z

    - - - -

    - -

    + + + +

    = - +

    )e esta for a, la parte recursiva puede contar con 2 etapas de pipeline

    adicionales

  • 8/17/2019 Sase 2012 Track Dsp 05

    50/72

    Filtros IIR rápidos

    Clustered loo& ' ahead pole)"ero assign$ent

    +ara un siste a de pri er orden

    1

    1( )

    1 H z

    az -=

    -

    11 ( ) 1 H z az -= +

    2 22 ( ) 1 H z a z

    -= +

    3 4 4

    1( )

    1 H z

    a z -=

    -

    3

    11

    1( ) ( )

    1k k H z H z

    az -== =

    1 2 2

    4 4

    (1 )(1 )( )

    1az a z

    H z a z

    - -

    -

    + +=

    -

  • 8/17/2019 Sase 2012 Track Dsp 05

    51/72

    Filtros IIR rápidos

    Clustered)*cattered ' ahead Ti$e (o$ain Interleaving

    Propiedades. Permite eliminar términos de menor orden de la sección

    "eedbac

    #cattered lo#ra estabilidad Clustered necesita una aniquilación polo;cero per"ecta5 si

    el polo cae por "uera del c,rculo unitario En #eneral a ma$or #rado de pipelinin#5 ma$or comple4idad

    Propiedades. Permite eliminar términos de menor orden de la sección

    "eedbac #cattered lo#ra estabilidad Clustered necesita una aniquilación polo;cero per"ecta5 si

    el polo cae por "uera del c,rculo unitario

    En #eneral a ma$or #rado de pipelinin#5 ma$or comple4idad

  • 8/17/2019 Sase 2012 Track Dsp 05

    52/72

    Filtros IIR rápidos

    Procesa$iento paralelo

    P caminos corriendo a $%P veces las tasa de muestreo

    l á d

  • 8/17/2019 Sase 2012 Track Dsp 05

    53/72

    Filtros IIR rápidos

    Procesa$iento paralelo

    2[ 2] [ ] [ ] [ 1] y n a y n ax n x n+ = + + +

    2[2 2] [2 ] [2 ] [2 1] y k a y k ax k x k + = + + +

    2[2 1] [2 1] [2 1] [2 ] y k a y k ax k x k + = - + - +[ 2] y n + =

    Look ahead

    Separación en pares e impares

    [ ] [ 1] [ 1] y n ay n x n= - + -

    [ 2] [ 1] [ 1] y n ay n x n+ = + + +

    Fil IIR á id

  • 8/17/2019 Sase 2012 Track Dsp 05

    54/72

    Filtros IIR rápidos

    Procesa$iento paralelo

    Cada ra a corre a 8 de la tasa de uestreoCada ra a corre a 8 de la tasa de uestreo

    Fil IIR á id

  • 8/17/2019 Sase 2012 Track Dsp 05

    55/72

    Filtros IIR rápidos

    Procesa$iento paralelo

    Propiedades. Cada camino IIR corre a $%P veces la tasa de muestreo

    Como a la salida $ a la entrada se usan mu& $ demu& respectivamente5 es esperable que puedan e4ecutarse ama$or "recuencia Cada camino tiene P veces más tiempo para computar su

    salida Dsa muc&os recursos a cambio de un #ran aumento de un

    velocidad

    Propiedades. Cada camino IIR corre a $%P veces la tasa de muestreo

    Como a la salida $ a la entrada se usan mu& $ demu& respectivamente5 es esperable que puedan e4ecutarse ama$or "recuencia Cada camino tiene P veces más tiempo para computar su

    salida Dsa muc&os recursos a cambio de un #ran aumento de un

    velocidad

    Fil IIR FPGA

  • 8/17/2019 Sase 2012 Track Dsp 05

    56/72

    Filtros IIR en FPGA

    Agenda

    Introducción

    Estructuras básicas

    Cuantización

    Estructuras avanzadas

    Filtros IIR rápidos

    #istema R'#

    Resumen

    Fil IIR á id

  • 8/17/2019 Sase 2012 Track Dsp 05

    57/72

    Filtros IIR rápidos

    *iste$a R+*

    El pri er docu ento conocido (ue enciona el Sistema Númerico de Residuos2#975 data de hace $s de :;; ao ate $tico, y dice $s o enos esto

    Tenemos cosas de las cuales no sabemos su número,Si las contamos de a tres, nos sobran dos

    Si las contamos de a cinco, nos sobran tres

    Si las contamos de a siete, nos sobran dos¿Cuántas cosas tenemos?

    Filt IIR á id

  • 8/17/2019 Sase 2012 Track Dsp 05

    58/72

    Filtros IIR rápidos

    *iste$a R+*

    En otras palabras, lo (ue nos pregunta el acerti>o es

    ?@uA n ero produce los restos 2residuos5 4, y 4 cuando es

    dividido por , : y D respectiva ente

    ?@uA n ero produce los restos 2residuos5 4, y 4 cuando es

    dividido por , : y D respectiva ente

    En notación de residuos

    (7|5|3)(2 |3 |2 ) RNS

    6a respuesta fue dada en for a general por el Chinese Remainder Theorem

    2!eore a del #esto Chino5 en el a

  • 8/17/2019 Sase 2012 Track Dsp 05

    59/72

    Filtros IIR rápidos

    *iste$a R+*

    ?)e donde nace el interAs por este proble a

    1 Kn poco de historia en los L:;s fue redescubierto en el $ bito de la co putación,

    buscando un siste a arit Atico veloz y tolerante a fallas

    - RNS posee estas capacidades

    1 En suma y producto , no posee propagación de carry= 6a propagación de

    carry es el ayor factor li itante de la velocidad en estas operaciones

    1 6a su a, resta y producto son completamente paralelizables

    1 Co o las representaciones de los residuos no poseen peso , un error de posición en un dígito, no afecta al resto de los dígitos

    1 Kn poco de historia en los L:;s fue redescubierto en el $ bito de la co putación,

    buscando un siste a arit Atico veloz y tolerante a fallas

    - RNS posee estas capacidades1 En suma y producto , no posee propagación de carry= 6a propagación de

    carry es el ayor factor li itante de la velocidad en estas operaciones

    1 6a su a, resta y producto son completamente paralelizables

    1 Co o las representaciones de los residuos no poseen peso , un error de posición en un dígito, no afecta al resto de los dígitos

    Filt IIR á id

  • 8/17/2019 Sase 2012 Track Dsp 05

    60/72

    Filtros IIR rápidos

    *iste$a R+*

    /plicaciones actuales

    1 7iste as de alta velocidad

    1 7iste as de co unicaciones

    1 7oluciones basadas en F+M/s

    1 iltrado ! "R# ""R$

    1 !ransfor aciones lineales 2o las (ue conlleven gran cantidad de productos ysu as5

    1 7iste as adaptativos

    1 Criptografía

    1 +rocesa iento de i $genes

    1 +rocesa iento del habla

    1 7iste as de alta velocidad

    1 7iste as de co unicaciones

    1 7oluciones basadas en F+M/s

    1 iltrado ! "R# ""R$1 !ransfor aciones lineales 2o las (ue conlleven gran cantidad de productos ysu as5

    1 7iste as adaptativos

    1 Criptografía

    1 +rocesa iento de i $genes

    1 +rocesa iento del habla

    Filtros IIR rápidos

  • 8/17/2019 Sase 2012 Track Dsp 05

    61/72

    Filtros IIR rápidos

    *iste$a R+*

    )efinición !n un sistema "#S, un n$mero es representado por unalista de sus residuos con respecto a módulos primos entre sí

    xk

    1 1 0k m m m- > > >L

    E>e plo Suponemos el si%uiente sistema "#S

    (8 |7 |5 |3 ) RNS

    (8|7|5|3)21 (5 | 0 | 1 | 0) RNS =

    (8|7|5|3)8 (0 | 1| 3 | 2) RNS =

    (8|7|5|3)64 (0 |1| 4 |1) RNS =

    )efinición Se define rango dinámico a 1 2 1 0k k M m m m m- -= L

    En este caso, & N O D O : O N ;

    8 7 5 3( 21 | 21 | 21 | 21 )=

    8 7 5 3( 8 | 8 | 8 | 8 )=

    8 7 5 3( 64 | 64 | 64 | 64 )=

    Filtros IIR rápidos

  • 8/17/2019 Sase 2012 Track Dsp 05

    62/72

    Filtros IIR rápidos

    *iste$a R+*

    estos ; valores pueden ser usados para representar n eros de

    ; a P, de 1 4; a P, o de cual(uier otro rango entero=

    )ebido a la igualdad i im m x M x- = -

    (8|7|5|3)( 0 | 0 | 0 | 0 ) RNS representa & ó ' & ó...

    (8|7|5|3)(1|1|1|1) RNS representa 1 ó ' 1 ó...

    (8|7|5|3)(0 |1 |3 |2) RNS representa ' ó ' ' ó...

    (8|7|5|3)( 2 | 0 | 0 | 2 ) RNS representa - & ó & ó...

    (8|7|5|3)( 7 | 6 | 4 | 2 ) RNS representa -1 ó '*+ ó...

    (8|7|5|3)(6 |0 |0 |1 ) RNS representa & ó +1& ó...

    Filtros IIR rápidos

  • 8/17/2019 Sase 2012 Track Dsp 05

    63/72

    Filtros IIR rápidos

    *iste$a R+*

    %peraciones

    (8|7|5|3)( 5 | 5 | 0 | 2 ) RNS representa

    (8|7|5|3)( 7 | 6 | 4 | 2 ) RNS representa y -1

    (8|7|5|3)(4 | 4 | 4 |1) RNS

    (8|7|5|3)(6 |6 |1 |0 ) RNS

    (8|7|5|3)(3 | 2 | 0 |1) RNS

    /y0

    -y0

    Suma

    Resta

    &ultiplicación

    y0

    (8|7|5|3)8 7 5 3( 5 7 | 5 6 | 0 4 | 2 2 ) RNS + + + +

    (8|7|5|3)8 7 5 3( 5 7 | 5 6 | 0 4 | 2 2 ) RNS - - - -

    (8|7|5|3)8 7 5 3( 5 7 | 5 6 | 0 4 | 2 2 ) RNS ´ ´ ´ ´

    Filtros IIR rápidos

  • 8/17/2019 Sase 2012 Track Dsp 05

    64/72

    Filtros IIR rápidos

    *iste$a R+*

    Qperaciones óptimas en #97 suma# resta# multiplicación 111" R iltros S

    Qperaciones dif'ciles en #97 1 Co paración de ódulo

    1 )etección de signo

    1 )ivision

    1 Escalado, redondeo, truncado

    1 )etección de overflow

    Filtros IIR rápidos

  • 8/17/2019 Sase 2012 Track Dsp 05

    65/72

    Filtros IIR rápidos

    *iste$a R+*

    +ara la is a perfor ance, las i ple entaciones en#97 tienen menor consumo y menor (rea

    Filtros IIR en FPGA

  • 8/17/2019 Sase 2012 Track Dsp 05

    66/72

    Filtros IIR en FPGA

    Agenda

    Introducción

    Estructuras básicas

    Cuantización

    Estructuras avanzadas

    Filtros IIR rápidos

    Sistema RNS

    Resumen

    Resu$en

  • 8/17/2019 Sase 2012 Track Dsp 05

    67/72

    Resu$en

    Co$parativa IIR vs FIR

    (entajas . +ise!o estándar usando un prototipo analó#ico está mu$

    bien estudiado Filtros altamente selectivos pueden ser realizados con

    dise!os de ba4o orden $ correr a altas tasas Para el mismo esquema de tolerancia5 los "iltros IIR resultan

    más cortos que los FIR

    (entajas . +ise!o estándar usando un prototipo analó#ico está mu$

    bien estudiado Filtros altamente selectivos pueden ser realizados con

    dise!os de ba4o orden $ correr a altas tasas Para el mismo esquema de tolerancia5 los "iltros IIR resultan

    más cortos que los FIR

    ""R

    Resu$en

  • 8/17/2019 Sase 2012 Track Dsp 05

    68/72

    Resu$en

    Co$parativa IIR vs FIR

    Desventajas . Fase no lineal Para implementaciones enteras5 puede &aber ciclos l,mite 'os dise!os multibanda son di",ciles- Sólo se dise!an

    pasaba4o5 pasaalto o pasabanda 'a realimentación puede introducir inestabilidad Es di",cil obtener dise!os de mu$ alta velocidad5 con alto

    #rado de pipelinin#

    Desventajas . Fase no lineal

    Para implementaciones enteras5 puede &aber ciclos l,mite 'os dise!os multibanda son di",ciles- Sólo se dise!an

    pasaba4o5 pasaalto o pasabanda 'a realimentación puede introducir inestabilidad Es di",cil obtener dise!os de mu$ alta velocidad5 con alto

    #rado de pipelinin#

    ""R

    Resu$en

  • 8/17/2019 Sase 2012 Track Dsp 05

    69/72

    Resu$en

    Co$parativa IIR vs FIR

    (entajas . Es sencillo lo#rar "ase lineal 'os "iltros multibanda son una realidad con FIR 'os "iltros FIR no recursivos son siempre estables $ no

    tienen ciclos l,mite Es sencillo tener altas velocidades5 con alto #rado de

    pipelinin#

    El redondeo aritmético tiene un impacto relativamente leve$ el ruido de cuantización es bien de"inido

    (entajas . Es sencillo lo#rar "ase lineal

    'os "iltros multibanda son una realidad con FIR 'os "iltros FIR no recursivos son siempre estables $ no

    tienen ciclos l,mite Es sencillo tener altas velocidades5 con alto #rado de

    pipelinin# El redondeo aritmético tiene un impacto relativamente leve

    $ el ruido de cuantización es bien de"inido

    "R

    Resu$en

  • 8/17/2019 Sase 2012 Track Dsp 05

    70/72

    Resu$en

    Co$parativa IIR vs FIR

    Desventajas . Se debe tener acceso a los al#oritmos de Par s B %cClellan

    para una implementación óptima Filtros de alto orden requieren un alto es"uerzo de

    implementación Filtros de alto orden requieren muc&os coe"icientes $

    muc&os recursos

    Desventajas . Se debe tener acceso a los al#oritmos de Par s B %cClellan

    para una implementación óptima Filtros de alto orden requieren un alto es"uerzo de

    implementación Filtros de alto orden requieren muc&os coe"icientes $

    muc&os recursos

    "R

    Filtros IIR en FPGA

  • 8/17/2019 Sase 2012 Track Dsp 05

    71/72

    Filtros IIR en FPGA

    ,i!liogra #a

    +iscreteE(ime Si#nal Processin# B )- ppen&eim5 R- Sc&a"er

    +i#ital Si#nal Processin# B G- Proa is5 +- %anola is

    +i#ital si#nal processin# 0it& FP8) B %e$er @aese

  • 8/17/2019 Sase 2012 Track Dsp 05

    72/72

    )IUBABuenos Aires* Argentinacer+etto,inti gob ar emarc$i,inti gob ar

    Agosto de ./0.

    mailto:[email protected]:[email protected]