Download - Sase 2012 Track Dsp 04
-
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 +:;/