Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ......

28
Trabajo de Graduación Francisco J. García Castillo Capitulo III 130 3.6 FILTROS DE RESPUESTA INFINITA (IIR) Los filtros IIR, también conocidos como Sistemas Auto-regresivos (Auto-Regresive {AR}), son llamados de respuesta infinita, porque el proceso de filtrado se realiza por medio de la evaluación de la ecuación de diferencias que regulan el sistema. Como la ecuación de diferencias depende de las salidas anteriores del filtro, existe una dependencia de los infinitos estados anteriores de la variable de salida a la variable de salida actual, por tal razón son llamados de Respuesta al Impulso Infinita. z a + 1 z b = H(z) k - k 1 - M =0 k k - k 1 - N =0 k La función de transferencia de los filtros IIR esta dada por ec. 3.23 como se puede observar este filtro cuenta con ceros y polos, por lo que la estabilidad del mismo no esta garantizada. De manera similar que en el caso de los filtros FIR, existen diversos métodos para diseñar filtros digitales IIR. Sin embargo, todas las técnicas más popularizadas parten de un filtro análogo que cumplan las condiciones requeridas y luego éste es convertido a filtro digital. Debido a esto discutiremos brevemente algunos aspectos de trascendencia en el diseño de filtros análogos y como éstos afectan al filtro cuando este es pasado al dominio digital. Un filtro análogo puede ser representado a partir de su función de transferencia de la siguiente manera: = = = = N k k k M k k k a s s s A s B s H 0 0 ) ( ) ( ) ( a b ec. 3.23 ec. 3.24

Transcript of Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ......

Page 1: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

130

33..66 FFIILLTTRROOSS DDEE RREESSPPUUEESSTTAA IINNFFIINNIITTAA ((IIIIRR))

Los filtros IIR, también conocidos como Sistemas Auto-regresivos (Auto-Regresive

AR), son llamados de respuesta infinita, porque el proceso de filtrado se realiza por medio

de la evaluación de la ecuación de diferencias que regulan el sistema. Como la ecuación de

diferencias depende de las salidas anteriores del filtro, existe una dependencia de los

infinitos estados anteriores de la variable de salida a la variable de salida actual, por tal razón

son llamados de Respuesta al Impulso Infinita.

za+1

zb=H(z)

k-k

1-M

=0k

k-k

1-N

=0k

La función de transferencia de los filtros IIR esta dada por ec. 3.23 como se puede

observar este filtro cuenta con ceros y polos, por lo que la estabilidad del mismo no esta

garantizada.

De manera similar que en el caso de los filtros FIR, existen diversos métodos para

diseñar filtros digitales IIR. Sin embargo, todas las técnicas más popularizadas parten de un

filtro análogo que cumplan las condiciones requeridas y luego éste es convertido a filtro

digital. Debido a esto discutiremos brevemente algunos aspectos de trascendencia en el

diseño de filtros análogos y como éstos afectan al filtro cuando este es pasado al dominio

digital.

Un filtro análogo puede ser representado a partir de su función de transferencia de la

siguiente manera:

∑∑

∑∑

==

======N

k

kk

M

k

kk

a

s

s

sAsB

sH

0

0

)()(

)(α

β

ec. 3.23

ec. 3.24

Page 2: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

131

donde αk y βk son los coeficientes del filtro. El filtro también puede ser descrito por su

respuesta al impulso unitario relacionada con Ha(s) mediante la transformada de Laplace

por:

∫∫∞∞

∞∞−−

−−== dtethsH sta )()(

Otra forma alternativa de describir el filtro análogo es por medio de la ecuación

diferencial que describa al sistema, así tenemos pues que:

∑∑∑∑====

==M

kk

k

k

N

kk

k

k dt

txd

dt

tyd

00

)()( βα

donde x(t) y y(t), denotan la señal de entrada y la señal de salida del filtro, respectivamente.

Si el proceso de conversión del filtro fue exitoso, para que sea físicamente realizable

debe cumplir con las siguientes condiciones:

• El eje jΩ en el plano s debe corresponder a la circunferencia unidad en el plano

z. De esta forma existe una relación directa entre las dos variables de frecuencia

en ambos dominios.

• El semiplano izquierdo del plano s debe corresponder al interior de la

circunferencia unidad en el plano z; de esta manera un filtro análogo estable se

convertirá en un filtro digital estable.

ec. 3.25

ec. 3.26

Page 3: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

132

Basado en estas condiciones los filtros IIR estables y físicamente realizables no

pueden tener fase lineal; ya que para que esto suceda éstos deben tener una función de

transferencia que cumplan con la condición:

)()( 1−−−−±±== zHzzH N ec. 3.27

donde z-N representa un retardo de N unidades en el tiempo; pero como observamos el filtro

tendría que tener un polo imagen especular fuera de la circunferencia unidad para cada polo

dentro de la circunferencia unidad; por lo tanto el filtro sería inestable.

En el diseño de IIR especificamos las características deseadas del filtro para la

respuesta en magnitud, ya que las características de fase están relacionadas a ella. Por tal

motivo especificamos la respuesta en magnitud del filtro y aceptamos la respuesta en fase

que se obtiene a partir de la metodología de diseño.

3.6.1 Diseño de filtros IIR utilizando la transformación bilineal

La transformación bilineal es un proceso matemático que transforma el eje jΩ en la

circunferencia unidad del plano z sólo una vez, evitando de esta manera el solapamiento de

componentes de frecuencia. Además todos los puntos del semiplano izquierdo de s

corresponden con el interior de la circunferencia unidad, y todos los puntos del semiplano

derecho de s corresponden con puntos fuera de la circunferencia unidad del plano z.

Esta transformación de variables esta descrita por:

z+1z-1

=s1-

-1

Además de la transformación de la variable (s ⇒ z), es importante también ajustar

las frecuencias del plano de Laplace al plano z, este ajuste (no lineal), es conocido en Inglés

como Frequency Prewarping,

ec. 3.28

Page 4: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

133

/2)(= ωtanΩ

En este método se obtienen los coeficientes del filtro analógico y se aplica la

transformación de variables para obtener los coeficientes del filtro digital.

Debemos aclarar antes de continuar, que para mejorar la sensibilidad de los filtros

IIR a los efectos de la palabra finita dentro del microprocesador, la implementación de los

mismos es mejor realizada como la cascada de varias secciones bicuadráticas, ec. 3.30.

zA+zA+1zB+zB+B=H(z)

2-2

1-1

-22

-110

El ángulo de los polos de la función de transferencia de los filtros Butterworth viene

dado por la ec. 3.31, donde N es el orden del filtro.

1,2,...N=i para 2i)+1-(N2N

=iπ

Φ

Con esta información y nuestros conocimientos previos de diseño de filtros

analógicos, podemos modificar las formulas de diseño de Filtros Butterworth para diseñar

directamente filtros digitales. Es posible también hacerlo con otro tipo de filtros análogos

(por ejemplo con el Chebyshev); sin embargo, por las buenas propiedades del Butterworth y

a que las herramientas de aplicación utilizadas en este trabajo implementan este tipo de

filtro, nos dedicaremos sólo al desarrollo de las relaciones concernientes a él.

3.6.1.1 Especificaciones de los filtros de orden superior

Los filtros de orden superior son utilizados para mejorar las características en cuanto

a atenuación de las señales no deseadas en el filtro se refiere. Aunque generalmente estos

ec. 3.29

ec. 3.31

ec. 3.30

Page 5: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

134

se construyen de secciones bicuadráticas como hemos dicho anteriormente su análisis sigue

siendo del mismo.

Los parámetros que se especifican para el filtro son: la frecuencia de paso fpass, la

atenuación en la banda de paso Apass, la frecuencia de rechazo fstop y la atenuación de la

banda de rechazo Astop. Estos parámetros están relacionados con los descritos anteriormente

para el dominio análogo (sección 3.2), por ejemplo las frecuencias de paso y rechazo

mantienen el mismo concepto descrito anteriormente; mientras que la atenuación en la

banda de paso se utiliza para medir el rizado existente en esta banda y la atenuación en la

banda de rechazo mida el rizado para esta banda. En la fig. 35 podemos observar estos

parámetros para un filtro pasa bajo tanto desde la perspectiva análoga (a la derecha) como

desde la perspectiva digital (izquierda).

Para un sistema pasa bajo es nuestra prioridad reducir la Apass ya que así

garantizamos un rizado en la banda de paso cercano a cero. Mientras que se desea que la

Astop sea grande para lograr la mayor atenuación de la señal a rechazar. Nos hemos

dedicado a hablar de antemano del filtro pasa bajo, ya que éste será usado como herramienta

de diseño para el resto de los filtros que estudiaremos.

Fig. 35 Filtro Pasabajo digital y su equivalente análogo

Filtro pasabajoanálogo equivalente

Filtro pasabajodigital deseado

Bandade paso

Bandade

rechazo

Bandade

rechazo

Bandade paso

Page 6: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

135

La atenuación esta dada en función del valor promedio cuadrático normalizado de la

magnitud de la función de transferencia del filtro, y corresponde a A(f) = -10log10 H(f)2

donde A esta dado en dB; específicamente para:

0 ≤≤ A(f) ≤≤ Apass , para 0 ≤≤ f ≤≤ fpass

A(f) ≥≥ Astop , para fstop ≤≤ f ≤≤ fs/2

Basándonos en la fig. 35 y la definición de atenuación, podemos expresar la

atenuación en función de los factores de rizo (ξ) de la siguiente manera:

)1(log10A

)1(log10A2stop10stop

2pass10pass

ξ

ξ

++==

++==

por lo tanto:

110

110

10/Astop

10/Apass

stop

pass

−−==

−−==

ξ

ξ

El otro parámetro especificado dentro de la figura 3.35 es la frecuencia normalizada

Ω, que para el caso de los pasa bajos queda especificado por:

)2

(tan

)2

(tan

stopstop

passpass

ωΩ

ωΩ

==

==

donde

ec. 3.32

ec. 3.33

ec. 3.34

ec. 3.35

ec. 3.36

ec. 3.37

ec. 3.38

ec. 3.39

Page 7: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

136

s

stopstop

s

passpass

f

f2

f

f2

πω

πω

==

==

Filtro pasa bajo análogo

Bajo el dominio de la frecuencia Ω la expresión de este filtro a través de la función

de transferencia esta dada por:

(( )) N20

2

1

1)(H

ΩΩΩ

++==

La cual, bajo el concepto de atenuación, queda determinada por:

(( ))[[ ]]N2010 1log10)(A ΩΩΩ ++==

por tal motivo para A(Ωpass) y para A(Ωstop) tenemos:

(( ))[[ ]](( ))[[ ]]N2

0stops10stop

N20pass10pass

1log10)(A

1log10)(A

ΩΩΩ

ΩΩΩ

++==

++==

Utilizando estas dos ecuaciones anteriores y despejando e igualando para N y Ω0 ,

obtenemos el orden del sistema:

)ln()ln(

N exacto ψε

==

donde:

ec. 3.40

ec. 3.41

ec. 3.42

ec. 3.43

ec. 3.44

ec. 3.45

ec. 3.46

Page 8: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

137

pass

stop

pass

stop

Ω

Ω=

=

ψ

ξξ

ε

Si N es un número con decimales siempre se recomienda que redondee al entero

superior ya que este satisface las condiciones de atenuación requeridas. Más aún se

recomienda en la medida de lo posible redondear al entero par superior más cercano, debido

a que nuestra estructura va a estar formada por bicuadráticas colocadas en cascada y de no

ser así uno de los elementos sería de primer orden.

Recordemos también pues que para Ω0 tendremos que H(Ω0)2 =1/2 o lo que es

igual A(Ω0) = 3 dB, por lo tanto tenemos que:

Npass

pass

/10 )(ξΩ

Podemos entonces construir estructuras del filtro Butterworth en forma análoga

(dominio de s) con los valores encontrados de N y Ω0 utilizando la factorización espectral.

Este método se basa en remplazar s = -jΩ, tomando en cuenta que (H(Ω))* = H*(-Ω) por lo

que podemos expresar la ecuación de un filtro pasa bajo en el dominio de s como:

NN

N

sj

ssHsH

2

0

2

0

*

)1(1

1

1

1)()(

Ω−+=

Ω+=−× ec. 3.50

Una vez tratada esta estructura se comprueba que puede ser construida por otras a

partir de arreglos en cascada dadas por:

H(s) = H0(s)H1(s)......Hk(s) ec. 3.51

Donde

ec. 3.47

ec. 3.48

ec. 3.49

Page 9: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

138

++==

,s11

,1

)s(H

0

0

Ω

20

2

i0

i scos

s21

1)s(H

Ωθ

Ω++−−

== , para i= 1,2, ...,K

A partir de este filtro análogo pasa bajo, la transformación bilineal y a la propiedad

de transformaciones de filtros podemos obtener las relaciones que utilizaremos para el

desarrollo de filtros Butterworth digitales.

3.6.1.2 Filtro pasa bajo digital

Utilizando la transformación bilineal descrita por la ec. 3.28 a nuestro filtro pasa bajo

análogo obtenemos las siguientes formulas de diseño para el filtro digital pasa bajo:

)2

(= 00

ωtanΩ

za+za+1)z+(1G=(z)H 2-i2

1-i1

2-1i

i

ΩΦΩΩ

20i0

20

i+2-1

=Gcos

ΩΦΩΩ

20i0

20

i1+2-1

1)-2(=a

cos

ΩΦΩΩΦΩ

20i0

20i0

i2+2-1+2+1

=acos

cos

para i = 1, 2, ...., k.

Con esta estructura y utilizando esta transformación bilineal se podrá construir el

filtro pasa bajo a partir de estructuras bicuadraticas, que cumplan con la siguiente formula:

ec. 3.54

ec. 3.56

ec. 3.55

ec. 3.57

ec.3.58

Si N = 2K

Si N = 2K + 1ec. 3.52

ec. 3.53

Page 10: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

139

H(s) = H0(s)H1(s)......Hk(s) ec. 3.59

Si N es impar uno de los términos de H(z) será de primer orden y su respuesta final

será distinta de 1 para la banda de paso. Si N es par la estructura de sólo bicuadraticas para

armar nuestro sistema se mantiene y su magnitud final será 1.

Como la transformación entre s y z es lineal podemos conocer el orden del filtro a

partir de los parámetros de atenuación y frecuencias de paso y rechazo. Por lo tanto los

pasos de diseño para este filtro serán:

• Calcular las frecuencias digitales (ω) y su correspondiente frecuencia

normalizada (Ω)

• Calcular el orden de N y la frecuencia Ω0 para el filtro Butterworth equivalente

basada en las transformaciones especificadas para el filtro pasa bajos.

• Obtener los coeficientes de las bicuadráticas que constituyen el filtro utilizando

las formulas obtenidas en esta sección para filtros pasa bajos.

Aunque las formulas para los diversos filtros varíen el procedimiento descrito por

estos tres pasos básicamente se mantiene igual, sólo habría que ajustar las formulas al caso

especifico ya sea para el cálculo de frecuencias y orden del filtro. Sin embargo, para todos

los procesos se busca el equivalente análogo pasa bajo del filtro; ya que de éste parte

realmente el diseño de todos los filtros digitales, como veremos más adelante.

3.6.1.3 Filtro pasa alto digital

Para diseñar el filtro pasa alto digital se parte del filtro análogo pasa bajo, pero la

transformación bilineal utilizada para la transformación del filtro al espacio digital se

adapta para que cumpla las condiciones impuestas por el filtro pasa altas (inversas a las

del filtro pasa bajos). De esta manera la transformación bilineal utilizada responde a las

siguientes ecuaciones:

Page 11: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

140

s

1

1

ff2

)2cot(z1

z1s

πω

ωΩ

==

−−==−−++

==−−

−−

Podemos observar en la fig. 36 el filtro pasa alta digital deseado y el filtro análogo

equivalente utilizado para su construcción. Como la transformación bilineal hace que

los valores de Ω varíen de su forma original, sus correspondientes valores de Ω también

variarán, quedando determinados a partir de las ecuaciones:

( )( )2cot

2cot

stopstop

passpass

ω

ω

Con estos valores de Ω y A, utilizando las ecuaciones 3.46 y 3.49 podemos

calcular el orden del filtro y el valor de Ω0 necesarios para cumplir las condiciones

demandadas.

ec. 3.60

ec. 3.61

ec. 3.62

ec. 3.63

ec. 3.64

Fig. 36 Filtro digital pasaalta y su filtro pasabajo análogo equivalente

Filtro pasabajoanálogo equivalente

Filtro pasaaltodigital deseado

Bandade paso

Bandade rechazo

Bandade rechazo

Bandade paso

Page 12: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

141

Haciendo uso de la transformación bilineal adaptada para filtros pasa alto y las

ecuaciones de filtros pasa bajos análogos, podemos obtener los coeficientes de las

bicuadráticas que constituyen el sistema. Este proceso nos dio por resultado las

siguientes ecuaciones:

)2

(-= 00

ωcotΩ

za+za+1)z-(1G=(z)H 2-i2

1-i1

2-1i

i

ΩΦΩΩ

20i0

20

i+2-1

=Gcos

ΩΦΩΩ

20i0

20

i1+2-1

1)-2(=a

cos

ΩΦΩΩΦΩ

20i0

20i0

i2+2-1+2+1

=acos

cos

para i = 1, 2, ....., k.

Al igual que en el caso anterior un valor de N impar introduce al sistema un

elemento de primer orden y una magnitud distinta de 1. Mientras que un valor de N par

mantiene al sistema con sólo bicuadráticas y con una magnitud de 1 en la banda de paso.

3.6.1.4 Filtro pasa banda digital

Para este caso también partimos de un filtro pasa bajo análogo equivalente,

adaptándose la transformación bilineal de forma que responda adecuadamente a las

propiedades particulares de este tipo de filtros. En la fig. 37 podemos observar estas

condiciones.

En esta ocasión la transformación bilineal utilizada para cumplir las condiciones de

filtrado en pasa banda corresponden a la siguiente forma:

ec. 3.65

ec. 3.67

ec. 3.66

ec. 3.68

ec. 3.69

Page 13: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

142

s

2

21

ff2

)sin/()cosc(z1

zcz21s

πω

ωωΩ

==

−−==−−

++−−==

−−

−−−−

El nuevo parámetro esta encargado de mantener al sistema estable por tal motivo

debe tener un valor de c ≤ 1. Para que el filtro cumpla estas condiciones debe responder

a:

)(+)(

)+(=c

pbpa

pbpa

ωωωω

sinsin

sin

de esta forma tenemos que:

)(sin

)cos(c

pb

pbpass ω

ωΩ

−−==

Para encontrar el valor de Ωstop se deben calcular los valores de Ωsb y Ωsa, los cuales

están dados por las siguientes relaciones:

ec. 3.73

ec. 3.70

ec. 3.71

ec. 3.72

ec. 3.74

Fig. 37 Filtro digital pasabanda y su filtro análogo pasabajo equivalente

Filtro pasabajoanálogo equivalente

Filtro pasabajodigital deseado

Bandade paso

Bandade

rechazo

Bandade

rechazo

Bandade

rechazo

Bandade paso

Page 14: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

143

)(sin

)cos(c

)(sin

)cos(c

sb

sbsb

sa

sasa

ωω

Ω

ωω

Ω

−−==

−−==

Como Ωstop se toma el más pequeño de los 2 resultados; aunque idealmente ambos

valores deberían ser iguales.

Utilizando la transformación bilineal para este tipo de filtro y el filtro pasa bajo

análogo equivalente se obtienen los coeficientes para cada sección del sistema; este proceso

nos arroja los siguientes resultados:

))(

)(-cabs(=

pb

pb0

ωω

sin

cosΩ

za+za+za+za+1)z-(1G=(z)H 4-

i43-

i32-

i21-

i1

2-2i

i

ΩΦΩΩ

20i0

20

i+2-1

=Gcos

ΩΦΩΦΩ

20i0

i0i1

+2-11)-4c(

=acos

cos

ΩΦΩΩ

20i0

20

2

i2+2-1

)-1+c2(2=a

cos

ΩΦΩΦΩ

20i0

i0i3

+2-11)+4c(

-=acos

cos

ΩΦΩΩΦΩ

20i0

20i0

i4+2-1+2+1

=acos

cos

Como hemos observado debido a que esta transformación de s es cuadrática en

relación con z produce elementos de cuarto orden por sección que forman el filtro de orden

superior.

ec. 3.77

ec. 3.78

ec. 3.79

ec. 3.82

ec. 3.80

ec. 3.82

ec. 3.81

ec. 3.75

ec. 3.76

Page 15: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

144

Para el cálculo de N en función de Ω y A se calcula el orden del sistema utilizando

las mismas ecuaciones 3.46 y 3.49. Cabe destacar que el orden del filtro es 2N debido a la

transformación bilineal utilizada. Por lo tanto similar a los casos anteriores cuando N sea

impar una de las secciones del sistema es de segundo orden y con la magnitud en la banda

de paso distinta de 1; mientras que cuando N es par todas las secciones del filtro son de

cuarto orden y la magnitud en la frecuencia de paso es 1.

3.6.1.5 Filtro Rechaza banda digital

Este filtro tiene dos bandas de paso, como podemos observar en la fig. 38. Sus

características pueden observarse en la misma figura, y a la vez el filtro digital análogo

utilizado para su construcción.

En este caso la transformación bilineal utilizada esta dada por:

s

21

2

ff2

)c/(cos)sin(zcz21

z1s

πω

ωωΩ

==

−−==++−−

−−==

−−−−

−−

ec. 3.83

ec. 3.84

ec. 3.85

Fig. 38. Filtro rechaza banda digital y su filtro pasa bajo análogo equivalente

Filtro pasabajo

análogo equivalente

Filtro Rechaza Banda

digital deseado

Bandade paso

Bandade rechazo

Bandade rechazo

Bandade paso

Bandade paso

Page 16: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

145

El diseño del filtro utiliza la misma estructura que en los casos anteriores y se rige

por las siguientes ecuaciones:

)(+)(

)+(=c

pbpa

pbpa

ωωωω

sinsin

sin

ccos

sin

pb

pbpass −−

==ω

ωΩ

c)cos(

)(sin

c)cos(

)(sin

sb

sbsb

sa

sasa

−−==

−−==

ωω

Ω

ωω

Ω

Se toma como Ωstop el menor valor de los propuestos por 3.88 y 3.89. Para el

calculo de N utilizamos nuevamente la ec. 3.46 y 3.49, sin embargo por el tipo de

transformación bilineal el orden del sistema esta dado por 2N. El sistema estará formado

por secciones de cuarto orden si el valor de N es par y con una magnitud de 1 para la banda

de paso; y tendrá una sección de segundo orden si N es impar, con una magnitud distinta de

1 en la banda de paso.

Para obtener los coeficientes del filtro basado en la transformación bilineal adaptada

al sistema utilizamos las siguientes ecuaciones:

)c-

abs(=pb

pb0

ωω

cos

sinΩ

za+za+za+za+1)z+cz2-(1G=(z)H 4-

i43-

i32-

i21-

i1

2-2-1i

i

ΩΦΩΩ

20i0

20

i+2-1

=Gcos

ec. 3.86

ec. 3.87

ec. 3.88

ec. 3.89

ec. 3.91

ec. 3.92

ec. 3.90

Page 17: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

146

ΩΦΩΩΦΩ

20i0

0i0i1

+2-1)-(4c

=acos

cos

ΩΦΩΩΩ

20i0

20

20

2

i2+2-1

1)-+c2(2=a

cos

ΩΦΩΩΦΩ

20i0

0i0i3

+2-1)+(4c

-=acos

cos

ΩΦΩΩΦΩ

20i0

20i0

i4+2-1+2+1

=acos

cos

3.6.1.6 Filtro Notch

Para diseñar un filtro Notch sólo basta con aplicarle la transformación bilineal

simple a la función de transferencia de este sistema en el domino de Laplace. Es

necesario para esto conocer la frecuencia de muestreo fs, la frecuencia notch f0, el ancho

de banda o su correspondiente forma digital, es decir:

fsf2

f

f2

s

00

∆πω∆

πω

==

==

Las relaciones de estos parámetros lo podemos observar en la fig. 39 en relación a

su equivalente análogo.

La transformación bilineal del sistema arroja los siguientes resultados para el

calculo de los coeficientes digitales del sistema:

)2

(+1

1=b ω∆

tan

z1)-(2b+z2b-1z+z2-1

=H(z)2-1-

0

-2-10

ωω

cos

cos

ec. 3.96

ec. 3.93

ec. 3.95

ec. 3.94

ec. 3.100

ec. 3.99

ec. 3.97

ec. 3.98

Page 18: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

147

3.6.2 Programa De Diseño

Para el cálculo de los coeficientes de las secciones que conforman al filtro hemos

utilizado el programa de diseño de filtros IIRFP. Este fue escrito en Lenguaje C por el Ing.

Ricardo Lambraño, compilado con el Compilador de C de Microsoft Versión 6.00.

Para ejecutar el mismo, el usuario debe escribir el nombre del programa IIRFP.EXE

desde la línea de comando de MS-DOS y presionar [Enter]. El programa pregunta que

tipo de filtro desea calcular, el número de secciones bi-cuadráticas, frecuencia de muestreo y

frecuencias de corte. El cuadro de dialogo es similar al mostrado en la fig. 40.

Para este caso en particular pedimos calcular un filtro pasa altos (2); de sexto orden

(3 bicuadráticas); con una frecuencia de muestreo de 48 KHz; y 1.5 KHz como frecuencia

de corte.

La salida del programa es un archivo llamado COEF.DAT, este archivo tiene los

coeficientes en formato de punto flotante y como comentarios, separado por "//". Este

formato fue el requerido debido a que posteriormente estos coeficientes serán utilizados para

la implementación del filtro. El código completo del programa lo podemos ver en el

apéndice C.

Fig. 39 Filtro Notch digital y su equivalente análogo

Filtro Notchanálogo equivalente

Filtro Notchdigital deseado

Page 19: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

148

3.6.3 Programa De Implementación

Utilizando la tarjeta ADSP-21061 hemos logrado implementar el filtro IIR con buen

éxito. En esta sección nos dedicaremos ha comentar las partes más relevantes del

programa que construye el filtro; si desea conocer el listado completo del programa remítase

al apéndice D.

El lenguaje del ensamblador es de fácil comprensión ya que muchos de sus

elementos son tomados de los compiladores en C; pero si desea conocer algo adicional del

lenguaje puede remitirse al apéndice B.

El programa de implementación se basa en la construcción de filtros de orden

superior a partir de la colocación en cascada de secciones bicuadráticas (ec.3.30); que

estarán constituidas por los coeficientes descritos en la 3.6.1 para cada caso en particular.

Por tal motivo como prioridad debemos expresar en el dominio del tiempo la salida del

filtro; la siguiente expresión nos muestra este resultado:

)2n(yA)1n(yA)2n(xB)1n(xB)n(xB)n(y 21210 −−−−−−−−−−++−−++== ec. 3.101

Fig. 40 Cuadro de dialogo con el usuario del programa iirfp.exe

Page 20: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

149

donde y(n) es la salida y x(n) es la entrada del sistema. Cabe destacar que con esta

estructura a utilizar para construir el programa de implementación el mismo queda bajo

ciertas restricciones:

• Sólo se puede construir filtros pasa bajos, pasa altos y notch directamente

utilizando esta estructura. Esto se debe a que la forma bicuadrática utilizada

sólo se ajusta a estas tres funciones de transferencia como podemos observar en

la sección 3.6.1.

• El valor de N(orden del sistema), debe ser un número par ya que las secciones

bicuadráticas producen sólo estructuras de segundo orden. Aunque esta

restricción vale desde el programa de implementación del sistema ya que el

mismo esta programado para utilizar secciones del sistema; eliminando la

posibilidad de que N sea impar.

A pesar que los filtros pasa banda y rechaza banda no se pueden construir

directamente con esta estructura cabe la posibilidad de construir estos sistemas con arreglos

en cascada de filtros pasa bajos y pasa altos.

Pues bien el primer paso de todo programa consiste en declarar las variables a

utilizar, como observamos a continuación.

/************************************************************************

*

* Segmento de Data en memoria de Data (Para Variables!)

*

************************************************************************/

#define BIQUADS 8 // Numero de Secciones Bi-cuadraticas

.segment /dm seg_dmda;

.var ON_OFF = 0; // Bandera del ByPass

.var Z1; // Elemento de Retardo para Canal Der.

.var DATA[2*BIQUADS+2]; // Linea de Retardo

.endseg;

Page 21: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

150

Declaramos en la sección de memoria de data la constante BIQUADS, que define la

cantidad de bicuadráticas que van a constituir el sistema. A la vez declaramos las variables

ON_OFF( para el encendido del filtro); Z1(elemento de retardo) y el buffer DATA dentro

del cual se van a almacenar los valores de data a utilizar.

/**********************************************************************

*

* Segmento de Data en memoria de Programa (Para Constantes!)

*

************************************************************************/

.segment /pm seg_pmda;

.var COEFS[5*BIQUADS] = "COEF.DAT"; // Coeficientes del Filtro

.endseg;

En la sección de memoria de programa hemos inicializado el buffer que contiene los

coeficientes de las bicuadráticas, estos provienen del archivo COEF.DAT. Como ya

sabemos COEF.DAT es producto del programa de diseño IIRFP.EXE.

/************************************************************************

*

* Segmento de Codigo en memoria de Programa

*

************************************************************************/

.segment /pm seg_pmco;

.....

......

b0=DATA; m0=1; l0=0;

b8=COEFS; m8=1; l8=@COEFS;

m1=-3;

Page 22: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

151

Hemos utilizado la sección de memoria del programa para colocar a los registros

encargados de manipular los buffer’s circulares a utilizar en el proceso. Así b0, m0 y l0

controlan la base, el modificador y el largo del buffer de data. De forma similar b8, m8 y l8

controlan la base, el modificador y el largo del buffer de los coeficientes.

/************************************************************************

*

* Rutina de Interrupcion del CODEC. Aqui se procesan las muestras

* recibidas por el ADC y se escriben los resultados al DAC.

*

************************************************************************/

INPUT_SAMPLES:

// Lectura de CODEC (ADCs)

r0 = dm(ON_OFF); // Bandera de Encendido

r1 = dm(rx_buf + 1); // ADC Canal Izquierdo

r2 = dm(rx_buf + 2); // ADC Canal Derecho

f1 = float r1; // Conversion a punto flotante

f2 = float r2; // Conversion a punto flotante

r0 = pass r0; // Encender banderas segun R0

if eq jump OFF; // Ir a OFF si R0 = Cero

En esta sección del código se introducen las muestras de las señales de entrada al

CODEC y se almacenan en los registros r1 y r2 en formato de punto fijo; mientras que la

entrada ON_OFF indica si el filtro esta encendido o apagado y se almacena en el registro r0

bajo formato de punto flotante. Luego por simplicidad de programación los datos de r1 y r2

son pasados a formato de punto flotante, almacenándose en f1 y f2 respectivamente.

Por medio de la instrucción pass se verifica si el filtro esta encendido, de ser así el

comando if eq jump OFF permite la continuación de la ejecución del filtro de lo contrario

ésta hace que salte a la localidad indicada por la etiqueta OFF donde se encuentra una rutina

que asegura la no puesta en marcha del filtro.

Page 23: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

152

i0=DATA;

lcntr=BIQUADS, do IIR until LCE; // Repetir TAPS-1 Veces

f0=dm(i0,m0), f4=pm(i8,m8); // F0 <= X(N-2), F4 = B2

f8 =f0*f4, f1=dm(i0,m0), f4=pm(i8,m8); // F1 <= X(N-1), F4 = B1

f12=f1*f4, f4=pm(i8,m8); // , F4 = B0

f12=f2*f4, f8=f8 + f12, f0=dm(i0,m0),f4=pm(i8,m8);// F0<=Y(N-2),F4 = A2

f12=f0*f4, f8=f8 + f12, f0=dm(i0,m1),f4=pm(i8,m8);// F0<=Y(N-1),F4 = A1

f12=f0*f4, f8=f8 + f12, dm(i0,m0)=f1; // X(N-2) <= F1

IIR: f2 = f8 + f12 , dm(i0,m0)=f2; // X(N-1) <= F2

dm(i0,m0)=f0; // Y(N-2) <= F0

dm(i0,m0)=f2; // Y(N-1) <= F2

f1=f2; // Salida del filtro para ambos canales

El comando lcntr es utilizado para producir la cantidad de bicuadráticas necesarias

para producir el filtro del orden que requerimos. Cada ciclo produce una bicuadrática que

utiliza la salida de la bicuadrática anterior como entrada para obtener el efecto deseado; en el

caso de la primera bicuadrática ésta toma el valor de la muestra como señal de entrada.

A lo interno de cada ciclo se encuentra el algoritmo descrito por la ec. 3.101 para la

construcción de una bicuadrática. El mismo se ve algo complejo y algo desordenado; sin

embargo, debemos recordar que éste se encuentra constituido de esta forma por los

siguientes motivos:

• El procesador tiene la capacidad de leer dos espacios de memoria al mismo

tiempo. Por lo tanto el ubicar dos variables a utilizar en un mismo tiempo en

dos diferentes regiones de memoria nos da la posibilidad de ejecutar dos

acciones en un sólo ciclo de máquina.

• El procesador lee primero los registros y luego los escribe. De esta manera en

un sólo ciclo de máquina podemos trabajar con el registro con un valor anterior

para posteriormente actualizarlo.

Notemos que la prioridad en este tipo de programación no es la estructura ordenada

del sistema, sino el ahorro de ciclos de máquina; ya que como recordamos es muestra a

Page 24: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

153

muestra donde se realiza el procesamiento de la señal el cual esta limitado por la cantidad de

instrucciones que se pueden realizar en un ciclo de máquina antes de la próxima muestra.

Con la utilización de los registros f0, f1, f2, f4, f8 y f12, como se muestra en los

comentarios del programa, logramos:

• Leer los coeficientes de las bicuadráticas, los estados presentes y anteriores de la

entrada (x(n) y x(n-τ)), los estados anteriores de la salida (y(n-τ)).

• Realizar las sumatorias y productos requeridos en la ec. 101 para construir la

bicuadrática.

• Guardar las entradas y salidas presentes en sus respectivos buffer para ser

utilizadas en la siguiente bicuadrática a construir.

Si a simple vista no se comprende el funcionamiento de la estructura interna del

ciclo considérelo como un caja negra donde con la alimentación de entrada adecuada usted

obtiene el filtrado deseado de la señal.

Una vez realizado el filtrado igualamos f1 a f2, considerando que las señales de

entrada son similares y el filtrado deseado es el mismo para ambos canales, para tener los

registros preparados para cargar los canales de salida.

OFF: f15 = 32767.0; // Valor Limite de DACs

f1 = clip f1 by f15; // Recortar a Limite

f2 = clip f2 by f15; // Recortar a Limite

r1 = trunc f1; // Conversion a punto fijo

r2 = trunc f2; // Conversion a punto fijo

r0 = dm(Z1); // Retardo en Canal Derecho

dm(Z1) = r2; // aun sin resolver la razon!

// Escritura de CODEC (DACs)

dm(tx_buf + 1) = r1; // DAC Canal Izquierdo

dm(tx_buf + 2) = r0; // DAC Canal Derecho

rti; // Retornar de Interrupcion

Page 25: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

154

Finalizado el proceso de filtrado se verifica que no se sobrepasará el valor limite del

DAC utilizando el comando clip xx by xx. Luego se pasan las señales a punto fijo

utilizando truncamiento por medio del comando trunc. Para finalmente enviar las señales

filtradas al CODEC específicamente a los DAC’s, esto se realiza cuando enviamos r1 y r0 a

las variables en localidad de memoria de data tx_buff+1 y tx_buff+2, respectivamente.

Cabe destacar que la señal del canal derecho sufre un pequeño atraso pero r0 = dm(Z1) y

dm(Z1) = r2; solucionan este inconveniente. Es de relevancia también el observar que este

proceso se efectúa de igual manera si el filtro esta apagado (colocación de la etiqueta OFF),

pero para este caso devuelve la señal sin pasarla por el proceso de filtrado. La instrucción

rti ordena al sistema retornar de la interrupción dada al momento de muestrear la señal.

Una vez contabilizado el proceso aunque el programa es algo más complejo que el

utilizado para el filtro FIR los resultados son muy similares y con una menor cantidad de

ciclos de máquina, lo que lo hace mas eficiente.

3.6.4 Otros métodos de diseño de filtros IIR

El motivo principal de esta sección es enunciar los principios generales de otros

métodos para el diseño de filtros IIR. Aunque no adentramos al procedimiento en sí del

mismo, debido a que los programas desarrollados y utilizados para este trabajo se basaron en

el diseño por el método de arreglo en cascada de bicuadráticas. Sin embargo nos sirven de

orientación para el desarrollo de nuevas herramientas bajo otros conceptos.

Entre los métodos de diseño de sistemas IIR tenemos:

• Método de invarianza impulsional.

Para este método el principal objetivo consiste en diseñar un filtro IIR con una

respuesta al impulso h(n) que sea la versión muestreada de la respuesta al impulso del filtro

analógico; es decir:

Page 26: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

155

H(n) ≡≡ h(nT) para n = 0, 1,2,........ ec. 3.102

donde T es el periodo de muestreo.

Este tipo de diseño introduce problemas de aliasing al sistema, al menos que el

periodo T sea lo bastante pequeño para evitarlo o minimizarlo a lo mínimo posible. Por tal

motivo este tipo de filtro sólo es adecuado para construir filtros pasa bajos y pasa banda..

• Método de aproximación de derivadas.

En este método se utiliza la ecuación diferencial del filtro analógico que se desea

convertir y se pasa a su equivalente ecuación de diferencias. Esta aproximación es

comúnmente utilizada para resolver una ecuación diferencial lineal de constantes de forme

numérica en un procesador digital.

Este tipo de filtrado se ve limitado a solo bajas frecuencias resonantes, debido a que

la correspondencia del semiplano izquierdo s con el plano z corresponde a un círculo de

radio de ½ con centro en ½. Por tal motivo solo se pueden construir filtro pasa bajos y

pasa banda de bajos valores de frecuencias resonantes.

• Método de la transformada z adaptada.

Para este método hacemos corresponder los polos y los ceros del filtro análogo H(s),

que deseamos convertir, con los polos y ceros del plano z. Para este propósito escribimos

la función de transferencia de H(s) de forma factorizada

∏∏

∏∏

==

==

−−

−−==

N

1kk

M

1kk

)ps(

)cs()s(H

donde ck y pk , representa los ceros y polos del sistema respectivamente. Pues entonces la

función de transferencia del filtro equivalente digital esta dada por:

ec. 3.103

Page 27: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

156

∏∏

∏∏

==

−−

==

−−

−−

−−==

N

1k

1Tp

M

1k

1Tc

)ze1(

)ze1()z(H

k

k

donde T es el periodo de muestreo. De esta forma cada factor (s – a) en H(s) corresponden

a un factor )ze1( 1Tpk −−−− ; a esta correspondencia se le conoce como la transformación de z

adaptada.

Este método tiene como inconveniente que para preservar las características de

respuesta en frecuencia del filtro analógico para el intervalo de muestreo de la transformada

z adaptada, se deben seleccionar apropiadamente las posiciones de los polos y ceros

equivalentes en el plano z. Por este motivo T debe ser seleccionado lo suficientemente

pequeño para evitar el aliasing.

Como hemos podido observar generalmente estos métodos introducen ciertos

inconvenientes al momento del diseño de ciertos filtros por tal motivo se prefiere el diseño

por el método de transformación bilineal.

3.7 COMPARACION ENTRE LOS FILTROS FIR Y LOS FILTROS IIR

Para esta sección nos enfocaremos más que todo en las bondades y dificultades de

cada tipo de filtro haciendo hincapié en las diferencias fundamentales entre ambos:

• Fase lineal:

Este particularidad de los filtros la podemos obtener de los filtros tipo FIR, ya que

los filtros IIR introducen una ligera distorsión de fase. Sin embargo, por medio de

filtros elípticos igualadores de fase se pueden construir Filtros IIR de fase lineal,

ec. 3.104

Page 28: Trabajo de Graduación Francisco J. García Castillo 130 · diseñar filtros digitales IIR. ... atenuación en la banda de paso Apass, ... parámetros para un filtro pasa bajo tanto

TTrraabbaajjoo ddee GGrraadduuaacciióónnFFrraanncciissccoo JJ.. GGaarrccííaa CCaassttiilllloo

CCaappiittuulloo IIIIII

157

pero la cantidad de coeficientes para producirlos eficientemente es mayor que la

requerida para un filtro FIR con similares características. Por este motivo se prefiere

el uso de FIR en aplicaciones que requieren fase lineal.

• Estabilidad del sistema:

Como los filtros FIR sólo están constituidos sólo por ceros, su estabilidad esta

garantizada; sin embargo, si partimos de un filtro estable análogo para construir su

IIR equivalente debemos obtener estabilidad en éste. Para aplicaciones en que

constantemente se tengan que calcular los coeficientes de los filtros, como para el

filtrado adaptativo, se preferirá entonces los filtros FIR que siempre nos

garantizarán la estabilidad del sistema.

• Eficiencia:

Generalmente los filtros FIR necesitan mayor cantidad de coeficientes que los filtros

IIR para obtener resultados similares. Por tanto para aquellos procesos donde la

cantidad de instrucciones por muestra estén limitadas es preferible optar por un filtro

IIR.

• Respuesta a la palabra finita:

Los filtros FIR tienen inherentemente una buena respuesta a la palabra finita, sin

embargo los filtros IIR si son construidos por secciones bicuadráticas pueden

mejorar su respuesta a la palabra finita.

Como elemento final podemos agregar que para cada caso existirán múltiples

soluciones como el escoger el tipo de filtro a construir, a que frecuencia muestrear, etc.; sin

embargo sólo una nos brindará el resultado deseado. Queda de cada uno sopesar todos sus

elementos de juicios para obtener la más eficiente de todas para construir el filtro indicado.