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]