sase 2012 track dsp 04

Upload: vale-conde-cuatzo

Post on 28-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Sase 2012 Track Dsp 04

    1/74

    Filtros FIR en FPGAsDisertantes:

    Marcos CervettoIngeniero Electrnico - UBA

    Laboratorio de Radiocomunicaciones

    Edgardo MarchiIngeniero Electrnico - UBA

    Laboratorio de Radiocomunicaciones

  • 7/25/2019 Sase 2012 Track Dsp 04

    2/74

    Filtros FIR en FPGA

    Agenda

    Breve revisin de filtros digitales

    Respuesta en magnitud

    Respuesta en fase

    Representacin con fase continua

    Fase lineal

    Fase lineal generalizada

    Fase mnima

    Filtros tipo I, II, III, IV

  • 7/25/2019 Sase 2012 Track Dsp 04

    3/74

    Filtros FIR en FPGA

    Agenda (cont.)

    Revisin de filtros FIR

    Propiedades

    Clases de mtodos de diseo

    todos de diseo

    !runcamiento de la respuesta impulsiva

    Ventaneo

    "#uirriple

    Cuadrados mnimos

  • 7/25/2019 Sase 2012 Track Dsp 04

    4/74

    Filtros FIR en FPGA

    Agenda (cont.)

    Implementacin de filtros FIR

    $o%re cumplir las especificaciones & la cuantizacin

    Forma directa

    Reduccin de coeficientes

    Codificacin C$' (Canonical Signed Digit)

    Pipelining

    Forma transpuesta

    "l algoritmo de R*+ (Reduced Adder Graph)

    *ritmtica distri%uida

  • 7/25/2019 Sase 2012 Track Dsp 04

    5/74

    Filtros FIR en FPGA

    Agenda

    Breve revisin de filtros digitales

    Revisin de filtros FIR

    Implementacin de filtros FIR

  • 7/25/2019 Sase 2012 Track Dsp 04

    6/74

    Revisin de filtros digitales

    Respuesta en agnitud

    a respuesta en frecuenciade un filtro digital se define parael intervalo [0, ] (siendo 2 la frecuencia de muestreonormalizada)-

    'ic.a respuesta es peridicacon perodo 2 .

    "l valor exactode la magnitud de la respuesta en frecuenciade un filtro digital noesde fundamentalimportancia-

    "n la banda pasantese asume #ue el filtro ideal gana 1.

    "n la banda de bloqueose asume #ue el filtro ideal gana 0."n la banda de transicinla magnitud no tiene restricciones,

    & para el filtro idealdic.a %anda tiene un ancho nulo.

    * partir de all se definen las tolerancias-

  • 7/25/2019 Sase 2012 Track Dsp 04

    7/74

    Revisin de filtros digitales

    Respuesta en agnitud

    ! es fundamental que cumpla los requerimientos de las%andas pasantes, de transicin & de %lo#ueo-

    os filtros pr/cticos tpicamente presentan dentro de cada%anda0

    1na respuesta montona, &a sea creciente o decreciente-

    1na respuesta con ripple, de magnitud oscilante-

    a especificacin de las tolerancias de la magnitud de larespuesta en frecuencia es uno de los tra%a2os m/s complicados0

    En general las especificaciones de un filtro son resueltas poringenieros senior, mientras que la implementacin en s, unave definidos los par!metros, se de"a para ingenieros "unior#$% 'orat

  • 7/25/2019 Sase 2012 Track Dsp 04

    8/74

    Revisin de filtros digitales

    Respuesta en agnitud

    Para la banda pasante la magnitud de la respuesta enfrecuencia de%e estar dentro del intervalo [1" #", 1$#$] (engeneral0 34 5 36 5 3p), mientras #ue en la banda de bloqueo

    de%e estar dentro de [0, #s].

    a %anda de transicin se especifica en anc.o de frecuencia-

  • 7/25/2019 Sase 2012 Track Dsp 04

    9/74

    Revisin de filtros digitales

    E!eplo de especificacin

    $upongamos #ue tenemos una seal sampleada a Fs578 9:z &limitada en %anda a ; 9:z, con una $

  • 7/25/2019 Sase 2012 Track Dsp 04

    10/74

    Revisin de filtros digitales

    E!eplo de especificacin

    *.ora consideremos los efectos de la %anda de %lo#ueo (;,7 9:z a;8 9:z)- Propongamos #ue la $ dB(A a ;?,@)- "ntonces la energa de ruido total ser/ el ;;,77= de laenerga original, pero el ;;= &a lo tenemos en la %anda pasante-

    a %anda de %lo#ueo de%er/ aportar menos del 8,77= de laenerga de ruido- Por lo tanto0

    "n resumen, de%emos disear un filtro #ue cumpla0

    'ondeArpes el ripple para la %anda de paso-

    0,88s2=0,0022 =0,05 As=26 dB

    p=0,1, s=0,12, Arp=0,1 dB , As=26 dB

  • 7/25/2019 Sase 2012 Track Dsp 04

    11/74

    Revisin de filtros digitales

    Respuesta en fase

    'efinida la magnitud de la respuesta en frecuencia, larespuesta en fase tiene ciertas restricciones-

    $i definimos0

    Como H(z)es real, causal, esta%le & racional (RCSR) H()es

    funcin continua de - "sto implica continuidad de (),ecepto en 7 casos0

    "n los puntos 0donde Im[H(0)]=0& Re[H(0)]

  • 7/25/2019 Sase 2012 Track Dsp 04

    12/74

    Revisin de filtros digitales

    Respuesta en fase

    as discontinuidades pueden pasar solo en un nmero finitosde puntos & el salto de fase puede ser de o 2.

    "2emplo0|H()|

    ()

    -

    -

    /2

    -/2

  • 7/25/2019 Sase 2012 Track Dsp 04

    13/74

    Revisin de filtros digitales

    Representacin con fase continua

    as discontinuidades pueden salvarse si epresamos

    'onde de2amos #ue la magnitud sea negativa siendo una amplitud

    "n el e2emplo anterior0 A()

    ()

    -

    -

    /2

    H=Ae j

  • 7/25/2019 Sase 2012 Track Dsp 04

    14/74

    Revisin de filtros digitales

    Fase lineal (LP)

    1n filtro cu&a respuesta en frecuencia admite una representacinde fase continua tal #ue0

    "s un filtro de fase lineal- 'ondepse llama retardo de fase& es

    medido en muestras-

    "l concepto de retardo de fase est/ definido para filtros #ue nonecesariamente tienen fase lineal- Particularmente0

    H=Aej p

    p=

  • 7/25/2019 Sase 2012 Track Dsp 04

    15/74

    Revisin de filtros digitales

    Fase lineal generali"ada (GLP)

    1n filtro cu&a respuesta en frecuencia admite una representacinde fase continua tal #ue0

    "s un filtro de fase lineal generali%ada- 'ondegse llama retardo

    de grupo& es medido en muestras-

    *l igual #ue en el caso anterior, el concepto de retardo de grupoest/ definido para filtros #ue no necesariamente tienen fase lineal-Particularmente0

    $i el filtro es un IIR racional, el retardo de grupo es la diferenciaentre los retardos de numerador & denominador

    H=Aej 0 g

    g= dd

  • 7/25/2019 Sase 2012 Track Dsp 04

    16/74

    Revisin de filtros digitales

    Fase #nia

    1n filtro con una respuesta en frecuencia determinada, cu&oretardo de grupo es m!nimopara todas las frecuencias, entre todoslos filtros con igual respuesta en amplitud, se llama de fase m!nima-

    Por esta%ilidad, todos los polos se encuentran dentro del

    crculo unitario, pero no.a& restricciones en la u%icacin de losceros-

    Im

    Re

    Im

    Re

  • 7/25/2019 Sase 2012 Track Dsp 04

    17/74

    Revisin de filtros digitales

    Fase #nia

    Reemplazar un cero por su inverso con2ugado no afecta a lamagnitud de la respuesta en frecuencia, pero si a la fase-

    "l retardo de grupo introducido por un cero dentro de lacircunferencia unitaria es menor #ue su inverso con2ugado (#ue cae

    fuera de la circunferencia unitaria) &n filtro es de fase m!nima si ' solo si todos los ceros se

    encuentran dentro de la circunferencia unitaria.

    ImIm

    Re Re

    (ase m!nima

  • 7/25/2019 Sase 2012 Track Dsp 04

    18/74

    Revisin de filtros digitales

    $ipos de filtros

    Restricciones en filtros G('

    H(0) es peridica con perodo 2

    Ae j 0 g=A2 e j 0j g2 g

    A=A2 ej2 g

    PeroA(.) es real, por lo tanto 2ges entero, entonces0

    g es entero (g= M)

    es peridica con perodo 2

    g tiene parte fraccional D (g= M + )

    es peridica conperodo E

    A=A2

    A=A2 =A4

  • 7/25/2019 Sase 2012 Track Dsp 04

    19/74

    Revisin de filtros digitales

    $ipos de filtros

    Restricciones en filtros G('(continuacin)(!) es real 5H(-) =H"()

    Aej 0 g=Aej 0j g

    A

    A =e

    j2 0

    PeroA(.) es real, por lo tanto 20es 8 20

    0es 8

    A(.) es simtrica &0es /2

    A(.) es anti4simtrica &

    A=A

    A=A

    g=p

    gp

  • 7/25/2019 Sase 2012 Track Dsp 04

    20/74

    Revisin de filtros digitales

    Filtros tipo I% II% III% & I'

    * partir de las restricciones anteriores podemos clasificar a losfiltros en cuatro tipos0

    Filtros tipo I0

    g= M# 05 8 G !ienen retardo de fase constante

    Filtros tipo II0

    g= M + 0,$# 05 8 G !ienen retardo de fase constante

    Filtros tipo III0

    g= M# 05 /2G !ienen retardo de grupo constante

    Filtros tipo IV0

    g= M + 0,$# 05 /2G !ienen retardo de grupo constante

  • 7/25/2019 Sase 2012 Track Dsp 04

    21/74

    Revisin de filtros digitales

    Filtros tipo I% II% III% & I'

    )ipo * ** *** *+

    Hrden Par Impar Par Impar

    $imetra de %!& $imtrica $imtrica *nti4simtrica *nti4simtrica

    $imetra de

    A%&

    $imtrica $imtrica *nti4simtrica *nti4simtrica

    Perodo deA%& 2 4 2 4

    H%0& *r%itrario *r%itrario 8 8

    H%& *r%itrario 8 8 *r%itrario

    1sos PBa2os, P*ltos,PBanda,

    "lim-Banda,ulti-Banda

    PBa2os,PBanda

    'iferenciadores,!ransformador de :il%ert

  • 7/25/2019 Sase 2012 Track Dsp 04

    22/74

    Revisin de filtros digitales

    Filtros tipo III% & I' filtro transforador de il*ert

    a respuesta en frecuencia de un filtro de :il%ert es0

    $i'%(&es una seal real, entonces)%&=)"%-&- $i *%(& es la salida de pasar '%(& por un filtro transformador de

    :il%ert, su transformada de Fourier ser/0

    *.ora, siz%(&='%(&+j *%(&0

    H(+ )={j , >00 =0j , 00 =0

    j)(), 0)() =00,

  • 7/25/2019 Sase 2012 Track Dsp 04

    23/74

    Revisin de filtros digitales

    Filtros tipo III% & I' filtro transforador de il*ert

    z%(& "s una seal comple2a #ue se denomina -/ /)*

    Hcupa la mitad del anc.o de %anda de'%(&

    *mpliamente utilizada en comunicaciones

    "l filtro discreto de :il%ert es0

    H(+ )={ej (0,50,5 .), >0

    0 =0e

    j (0,5 0,5.),

  • 7/25/2019 Sase 2012 Track Dsp 04

    24/74

    Revisin de filtros digitales

    Fase lineal generali"ada parte + (GLP)

    &n filtro GLPo LPcausal es necesariamente (*3.

    'adas las restricciones para +P o P #ue imponen condicionesde simetra tenemos0

    Pero si pedimos causalidad0

    "ntonces0

    != ! !=!

    !=0 !0

    !=0 !2 g

    es FIR

  • 7/25/2019 Sase 2012 Track Dsp 04

    25/74

    Filtros FIR en FPGA

    Agenda

    Breve revisin de filtros digitales

    3evisin de filtros (*3

    Implementacin de filtros FIR

  • 7/25/2019 Sase 2012 Track Dsp 04

    26/74

    Revisin de filtros FIR

    Caracter#sticas

    os filtros FIR se caracterizan por no tener polos en su funcin detransferencia (ocasionalmente se los denomina filtros todos cerosJ)

    $u transferencia no puede ser derivada de un filtro analgico

    !ienen algunas propiedades nicas #ue no comparten con los IIR0

    $on in.erentemente esta%les

    Pueden ser diseados para tener fase lineal o fase linealgeneralizada

    :a& una gran flei%ilidad para moldear su respuesta$on de f/cil implementacin

    !ienen la desventa2a #ue la comple2idad computacional #uere#uieren es ma&or (relativamente)-

  • 7/25/2019 Sase 2012 Track Dsp 04

    27/74

    Revisin de filtros FIR

    Clases de ,todos de dise-o

    os mtodos de diseo para FIR pueden ser divididos en 7 clases0todos sencillos0

    $on mtodos #ue re#uieren c/lculos simples- "l mtodo m/sconocido en esta clase es el de Ventaneo- Htro mtododentro de esta categora es el de cuadrados mnimos- "stosmtodos usualmente dan %uenos resultados, pero no sonptimos en cuanto a la comple2idad del filtro resultante-

    todos comple2os0

    $e %asan en optimizacin numrica & re#uieren asistenciacon .erramientas de softKare avanzadas- "l mtodo m/sconocido en esta categora es el Equirriple,el #ue garantizacumplir con las especificaciones con comple2idad mnima-

  • 7/25/2019 Sase 2012 Track Dsp 04

    28/74

    Revisin de filtros FIR

    M,todos de dise-o

    todo de diseo mediante truncamiento de la respuestaimpulsiva

    $e defineA() en concordancia con los re#uerimientos-

    $e elige las caractersticas del filtro0 retardo de grupo entero o

    fraccional, fase inicial 8 o /2."legir el orden del filtro

  • 7/25/2019 Sase 2012 Track Dsp 04

    29/74

    Revisin de filtros FIR

    M,todos de dise-o

    todo de diseo mediante truncamiento de la respuestaimpulsiva (cont-)

    "s el mtodo ptimo en cuanto minimizacin del errorcuadr/tico medio de la respuesta o%tenida respecto de la ideal-

    $u2eto al efecto +i%%s02

    "l valor de pr/cticamente no vara cam%iando

  • 7/25/2019 Sase 2012 Track Dsp 04

    30/74

    Revisin de filtros FIR

    M,todos de dise-o

    todo de diseo mediante ventaneo0$urge para mitigar el efecto +i%%s

    Para el diseo se procede de la misma forma #ue en el mtodode truncamiento de la respuesta impulsiva

    "n lugar de truncar la respuesta impulsiva se eli2e %!&mediante la multiplicacin de la respuesta ideal (infinita) poruna ventana (!), i-e-0

    "l anterior mtodo de truncamiento es en realidad un mtodode ventaneo con una ventana rectangular de longitud

  • 7/25/2019 Sase 2012 Track Dsp 04

    31/74

    Revisin de filtros FIR

    M,todos de dise-o

    Ventana de RectangularRespuesta temporal Respuesta en frecuencia

    "s la ventana con el l%ulo central m/s angosto- atem/ticamente nopuede eistir una ventana de menor anc.o-

  • 7/25/2019 Sase 2012 Track Dsp 04

    32/74

    Revisin de filtros FIR

    M,todos de dise-o

    Ventana de LaiserRespuesta temporal Respuesta en frecuencia

    El ancho del lbulo principal de cualquier ventana determina el anchode la banda de transicin de un filtro diseado mediante ventaneo.

  • 7/25/2019 Sase 2012 Track Dsp 04

    33/74

    Revisin de filtros FIR

    M,todos de dise-o

    Ventanas0Ventana *nc.o

    l%uloprincipal

    nivel del losl%ulossecundariosMdBN

    3p, 3s ripple de la%andapasante *pMdBN

    atenuacinde la%anda de%lo#ueo *s

    MdBNrectangular EO 4;Q,> 8,8? 8,> 7;

    Bartlett SO 47 8,8> 8,E> 7@

    :ann SO 4Q7 8,88@Q 8,8>> EE

    :amming SO 4EQ 8,8877 8,8;? >Q

    Blac9man ;7O 4> 8,8887 8,88; E

    Laiser depende de T

  • 7/25/2019 Sase 2012 Track Dsp 04

    34/74

    Revisin de filtros FIR

    M,todos de dise-o

    todo de diseo mediante cuadrados mnimos0$urge para poder especificar un 3pU 3s -

    Permite m/s li%ertad a la forma del ripple, por lo #ue se puedereducir la comple2idad del filtro-

    $e %asa en un criterio de optimizacin modificado deminimizacin del error cuadr/tico medio en el dominio de lafrecuencia0 a cada frecuencia se le asigna un peso 4()-

    4={ !p

    1

    , e! 5s 6!d s ps!(e s!s

    1, e! 5 s 6!ds de 65178e1

    0, e! 5s 6!ds de (r!s!}

  • 7/25/2019 Sase 2012 Track Dsp 04

    35/74

    Revisin de filtros FIR

    M,todos de dise-o

    todo de diseo mediante cuadrados mnimos0'esventa2as0

  • 7/25/2019 Sase 2012 Track Dsp 04

    36/74

    Revisin de filtros FIR

    M,todos de dise-o

    todo de diseo e#uirriple0 "l criterio de optimizacin es la minimizacin del error

    cuadr/tico medio por %andas-

    $e o%tiene un filtro cu&a respuesta en frecuencia oscila

    uniformemente entre los lmites de tolerancia en cada %anda- "l mtodo es ptimo en el sentido de minimizar el error

    cuadr/tico medio en cada %anda de inters, %a2o la restriccinde un orden del filtro < fi2o-

    *lgoritmos para resolver el pro%lema de optimizacin0*lgoritmo de intercam%io de Remez

    *lgoritmo de Par9s4cCellan

  • 7/25/2019 Sase 2012 Track Dsp 04

    37/74

    Filtros FIR en FPGA

    Agenda

    Breve revisin de filtros digitales

    Revisin de filtros FIR

    *mplementacin de filtros (*3

  • 7/25/2019 Sase 2012 Track Dsp 04

    38/74

    Ipleentacin de filtros FIR

    o*re cuplir las especificaciones & la cuanti"acin

    uego de tanta matem/tica tenemos nuestro filtro ideal0

  • 7/25/2019 Sase 2012 Track Dsp 04

    39/74

    Ipleentacin de filtros FIR

    o*re cuplir las especificaciones & la cuanti"acin

    G 1samos S %its, de%e funcionar---

    "

    0instdWlogicWvector(4doKnto8)XY

  • 7/25/2019 Sase 2012 Track Dsp 04

    40/74

    Ipleentacin de filtros FIR

    o*re cuplir las especificaciones & la cuanti"acin

    G Verificando---

    "

    0instdWlogicWvector(15doKnto8)XY

    *.ora se puede comenzara disear el .ardKare--

  • 7/25/2019 Sase 2012 Track Dsp 04

    41/74

    Ipleentacin de filtros FIR

    Introduccin

    !ransferencia de un filtro FIR0

    "structuralmente es#uematiza%le como0

    * !="9=0

    9' !9

    A esta estructura se la conoce como Forma Directa

  • 7/25/2019 Sase 2012 Track Dsp 04

    42/74

    E!eplo */sico de Ipleentacin

    Implementaremos de un filtro con0(por su respuesta impulsiva vemos #ue es un filtro tipo II, con retardo de fase

    constante, fase inicial 8 & amplitud de respuesta en frecuencia peridica en EO)

    'efinimos la precisin de la entrada en S %its 5

    a precisin de la salida (sin truncamiento) #uedadeterminada como la suma de la cantidad de %its de laentrada m/s el factor de crecimiento +X #ue para un filtroFIR se calcula simplemente como0

    "n este e2emplo :;o!2(9) =" :

  • 7/25/2019 Sase 2012 Track Dsp 04

    43/74

    E!eplo */sico de ipleentacin

    "structuralmente0

    Ipleentacin de filtros FIR

    e6al de 7 bits

    e6al de 12 bits

    nea de retardos (con2unto de seales de S %its)0son %aratasJ

    Coeficientes0$e %usca evitar el usode multiplicadores-

    $umadores0 se %usca minimizar su nmero

  • 7/25/2019 Sase 2012 Track Dsp 04

    44/74

    IBR*RieeeX1$"ieee-stdWlogicW;;@E-*X 44 i%reras est/ndar1$"ieee-numericWstd-*X 44 i%reras est/ndar con soporte para tipos numricos (unsigned, etc-)44 Interfaz0"

    cl9 0instdWlogicXrst 0instdWlogicX 0instdWlogicWvector(doKnto8)X 44 %&te de entrada& 0outstdWlogicWvector(;;doKnto8)X 44 $alida (Recordar0 + A E)

    )X"

  • 7/25/2019 Sase 2012 Track Dsp 04

    45/74

    *RC:I!"C!1R"Be.avioral HFfirWsrg I$

    t&pearra&WofW%&tes is 44 'efinicin del tipo arra& de %&tesarra&(QdoKnto8) ofsigned(doKnto8)XsignaltapWline 0 arra&WofW%&tesX 44 lnea de retardos o taps

    %egin

    44 uc.os sintetizadores solo permiten divisin por potencias de 7 (o2o con la presicin)0&A57ZtapWline(;) 6tapWline(;) 6tapWline(;) 7 44 Q-> Z (;) 6 67ZtapWline(7) 6tapWline(7) 6tapWline(7) 7 44 Q-> Z (7) 6 4tapWline(Q) 4tapWline(8)X 44 4; Z (Q) 4;Z (8)

    p;0process (rst, cl9, , tapWline) 444444 ista de sensi%ilidad[[[[444444 Be.avioral st&le

    %eginif(cl98eventandcl95\;\)t.en 44 Flanco ascendente del cloc9if(rst5\;\)t.en 44 reset sincrnico

    foriinQdoKnto8looptapWline(i) A5(ot.ers5\8\)X 44 Inicializacin de la lnea de retardos

    end loopXelse

    Ipleentacin de filtros FIR

    E!eplo */sico de ipleentacin

  • 7/25/2019 Sase 2012 Track Dsp 04

    46/74

    foriinQdoKnto;looptapWline(i) A5tapWline(i4;)X44 $.ift de uno a la lna de retardos

    end loopXtapWline(8) A5X 44 Primer tap

    end ifX 44 Fin de los procesos cuando no est/ reseteadoend ifX 44 Fin de los procesos sincrnicosend processX

    endBe.avioralX

    Ipleentacin de filtros FIR

    "l diseo anterior se puede me2orar con0

    Reduccin de coeficientes por simetra

    Forma transpuesta

    Codificacin C$'Pipeline

    *lgoritmo de R*+

    Htra forma de implementacin0 *ritmtica distri%uda

    E!eplo */sico de ipleentacin

  • 7/25/2019 Sase 2012 Track Dsp 04

    47/74

    Reduccin de coeficientes

    Reduccin de coeficientes gracias a la simetra0 Como los filtros de fase lineal (o retardo de grupo lineal)

    satisfacen la propiedad de simetra o anti4simetra, es posi%leagrupar los coeficientes iguales-

    Por e2emplo, para un filtro de ;8 coeficientes0

    donde el signo G se da en la condicin de anti4simetra

    "2emplos0

    Ipleentacin de filtros FIR

    %!&%!& !ipo II!ipo I

  • 7/25/2019 Sase 2012 Track Dsp 04

    48/74

    Reduccin de coeficientes

    Reduccin de coeficientes por simetra0levando la factorizacin a una ar#uitectura implementa%le0

    a cantidad de multiplicadores se reduce a la mitad (6; en el caso de simetraimpar de la respuesta impulsiva)

    Ipleentacin de filtros FIR

    I l t i d filt FIR

  • 7/25/2019 Sase 2012 Track Dsp 04

    49/74

    Reduccin de coeficientes

    Reduccin de coeficientes por simetra0"n V:'0

    Ipleentacin de filtros FIR

    Yt&pearra&WofWKord is 44 'efinicin del tipo arra& de pala%rasarra&(;doKnto8) ofsigned(SdoKnto8)Xsignalt 0 arra&WofWKordX

    t&pearra&Wtemp is 44 'efinicin del tipo arra& temporalarra&(QdoKnto8) ofsigned(SdoKnto8)Xsignaltemp 0 arra&WtempXYtemp(8) A5 \8\] tapWline(8)X 44 e aseguro #ue al sumarlos tengan la precisin correctatemp(;) A5 \8\] tapWline(;)X

    temp(7) A5 \8\] tapWline(7)Xtemp(Q) A5 \8\] tapWline(Q)XYt(8) A5temp(;) 6 temp(7)X 44 1sando simetrat(;) A5temp(8) 6 temp(Q)XY& A5 7 Z t(8) 6 t(8) 6 t(8) 7 4 t(;)X 44 "sto sigue estando codificado peligrosamente

    I l t i d filt FIR

  • 7/25/2019 Sase 2012 Track Dsp 04

    50/74

    Ipleentacin de filtros FIR

    Fora transpuesta

    "sta forma se %asa en el teorema de ason de la reversin de losgr/ficos de flu2o0

    $i se cam%ian el sentido de todas las flec.as, cam%iandoentradas por salidas, & se su%stitu&en las derivaciones de ramas

    por sumadores & viceversa, se o%tiene una transferencia idnticaa la del gr/fico original

    "s la forma m/s usada para la implementacin0

    Permite optimizar los multiplicadores (*lgoritmo R*+)

  • 7/25/2019 Sase 2012 Track Dsp 04

    51/74

    Ipleentacin de filtros FIR

    Fora transpuesta

    a transferencia de un filtro FIR tam%in se puede implementar0

    o #ue puede ser visto como0

    Banco de multiplicadores

    $umadores 6 Pipeline

    '(!)

    *(!)

    I l t i d filt FIR

  • 7/25/2019 Sase 2012 Track Dsp 04

    52/74

    Fora transpuesta

    "n el e2emplo con V:'0

    Ipleentacin de filtros FIR

    t&pearra&WofWKord is 44 'efinicin del tipo arra& de pala%rasarra&(QdoKnto8) ofsigned(;;doKnto8)XsignaltapWline 0 arra&WofWKordX

    t&pearra&Wtemp is 44 'efinicin del tipo arra& temporalarra&(QdoKnto8) ofsigned(;;doKnto8)Xsignaltemp 0 arra&WtempXYtemp(8) A5 J8888J] Xtemp(;) A5 (J88J] ] J88J) 6 (J8888J] ) 6 (J88888J] (doKnto;))X 44

  • 7/25/2019 Sase 2012 Track Dsp 04

    53/74

    Ipleentacin de filtros FIR

    Codificacin C0

    a codificacin Canonical Signed Digitpermite reducir el tamaode los multiplicadores (coeficientes)

    1n nmero puede escri%irse en %inario como0

    *.ora, si se permiten dgitos negativos es decir ampliamos elcon2unto

    "l mismo nmero se puede escri%ir como0

    o #ue reduce la cantidad de elementos no nulos-

    Para ver la venta2a de esta codificacin analicemos los multiplicadores

    #,5=121120121=1116 1! 1 6( r1!5

    #,5=122121=100 $1sd 1! 1 6( r1!5

    {1,0} {1,0,$1}

    I l t i d filt FIR

  • 7/25/2019 Sase 2012 Track Dsp 04

    54/74

    Ipleentacin de filtros FIR

    Codificacin C0

    ultiplicadores usando C$'Con codificacin %inaria0

    #,5' !=121120121' !=' !21' !20' !21

    AA 7 AA ;

    + +

    '(!)

    >,$.'(!)

    I l t i d filt FIR

  • 7/25/2019 Sase 2012 Track Dsp 04

    55/74

    Ipleentacin de filtros FIR

    Codificacin C0

    ultiplicadores usando C$'Con codificacin C$'0

    #,5' !=122121' !=' !22' !21

    AA Q

    -

    '(!)

    >,$.'(!)Y

    t(8) A5tapWline(;) 6 tapWline(7)X 44 1sando simetrat(;) A5tapWline(8) 6 tapWline(Q)XY& A57 Z t(8) 6 t(8) 6 t(8) 7 6 t(;)X 44 *ntesY& A5E Z t(8) 4 t(8) E 6 t(;)X 44 1sando C$'Y

    n el e9emplo con +:;/