Вы находитесь на странице: 1из 10

Tema 4 Filtros IIR

Ecuacin en diferencias

[] = [ ] + [ ]
=1

=0

: feedback coefficients
: feed-forward coefficients
: orden del filtro IIR
Filtro IIR de primer orden ( = = )
[] = 1 [ 1] + 0 [] + 1 [ 1]

Respuesta en el dominio
[] = 2[] 3[ 1] + 2[ 3]
[] = 0.8[ 1] + 5[]
[0] = 0.8[1] + 5[],

[] = 2[0] 3[1] + 2[3] = 2

Condiciones de reposo inicial


La salida no toma valores hasta el instante en el cual la entrada comienza a
tomar valores.
Cumpliendo las condiciones de reposo inicial, [1] = 0, por tanto
[0] = 0.8 0 + 5 2 = 10
A partir de aqu calcular el resto de valores de la salida es trivial
[1] = 0.8[0] + 5[1] = 0.8 10 + 5 (3) = 7

La salida solamente depender de la entrada hasta = 3. Podemos entonces


reescribir la ecuacin en diferencias de la forma que sigue
[] = 0.8[ 1],

>3

Dndole valores a observaremos como la salida decaer exponencialmente a partir


de = 3 con una tasa determinada por 1 = 0.8. As, podramos expresar la ecuacin
anterior de la siguiente forma
[] = [3](0.8)3 ,

Marco A. Iarrea Santom

Respuesta al impulso de un sistema IIR de primer orden


[] = 1 [ 1] + 0 [] (filtro IIR de primer orden con 1 = 0)
[] = 1 [ 1] + 0 [] (frmula recursiva)
[0] = 1 [1] + 0 [0] = 0 ([1] = 0 por condiciones de reposo inicial)
[1] = 1 [0] + 0 [1] = 1 0
[2] = 1 [1] + 0 [2] = 1 (1 0 )

[] = 0 (1 ) []
Respuesta a seales de entrada de longitud finita (uso de la convolucin)
Sean [] = 2[] 3[ 1] + 2[ 3] y [] = 5(0.8) []. Calcular y[n]

[] = [] [ ]
=0

[] = [] [ ] = [0][] + [1][ 1] + [2][ 2] + [3][ 3]


=0

= 2[] 3[ 1] + 2[ 3]
[] = 2[] 3[ 1] + 2[ 3]
[0] = 2[0] 3[1] + 2[3] = 2 5(0.8)0 [0] = 10
[1] = 2[1] 3[0] + 2[2] = 2 5(0.8)1 [1] 3 5(0.8)0 [0] = 7
[2] = 2[2] 3[1] + 2[1] = 2 5(0.8)2 [2] 3 5(0.8)1 [1] = 5.6
A partir de aqu ya no se anular ninguno de los trminos de y[n]
[] = 2[] 3[ 1] + 2[ 3] =
= 2 5(0.8) [] 3 5(0.8)1 [ 1] + 2 5(0.8)3 [ 3] =
= 5(0.8) (2 3(0.8)1 + 2(0.8)3 )[ 3] = 10.78(0.8) [ 3]
Solucin: [] = 10[] 7[ 1] 5.6[ 2] + 10.78(0.8) [ 3]
Respuesta a seales de entrada de longitud infinita (iterando la ecuacin en
diferencias)
Sea [] = 1 [ 1] + 0 [] (filtro IIR de primer orden con 1 = 0) y [] = []
[0] = 1 [1] + 0 [0] = 0
[1] = 1 [0] + 0 [1] = 1 (0 ) + 0
[2] = 1 [1] + 0 [2] = 1 (1 (0) + 0 ) + 0

1 1+1

[] = 1 = 0
,
0
1 1
=0

Marco A. Iarrea Santom

Posibles casos en funcin del valor de 1 :


1- |1 | > 1 => 1+1 crece sin lmites => [] sera cada vez mayor y, por tanto,
el filtro sera inestable.
2- |1 | < 1 => 1+1 tiende a cero cuando
0
lim [] =

1 1
Asntota horizontal.
3- |1 | = 1

[] = 1 = 0 ( + 1),

=0

lim [] = . El filtro sera inestable.

4- |1 | = 1
0,
[] = {
0 ,

Funcin del sistema ()


La convolucin en el dominio se corresponde con el producto en el dominio .

[] = [] [] () = ()()

Ejemplo:
[] = 1 [ 1] + 0 [] + 1 [ 1]
() = 1 1 () + 0 () + 1 1 ()
(1 1 1 )() = (0 + 1 1 )()
Para los sistemas se cumple que
() = ()() => () =

()
()

Entonces, si
(1 1 1 )() = (0 + 1 1 )()
la funcin del sistema ser
() 0 + 1 1
() =
=
() 1 1 1
Los coeficientes del numerador de la funcin del sistema de un filtro IIR son
los coeficientes de los trminos de feed-forward de la ecuacin en diferencias. Para
el denominador, el trmino constante es uno, y los restantes coeficientes son los
coeficientes feedback negados.

Marco A. Iarrea Santom

Relacin entre la respuesta al impulso, [], y la funcin del sistema ()


La funcin del sistema es la Transformada de la respuesta al impulso.
Veamos en el tema anterior que para seales finitas la Transformada se
obtiene mediante la siguiente expresin

() = []
=0

Mientras que para seales infinitas tenemos que

() = []
=

As,

() = []
=0

Siendo [] una seal finita.


Ejemplo:
Sea [] = []. Calcular ().

() =
=0

= ( 1 ) =
=0

( 1 )0 ( 1 )+1
1
=
, | 1 | < 1
1
1
1 1

[]

1
1 1

Marco A. Iarrea Santom

Repaso:
Sea [] = 1 [ 1] + 0 [] + 1 [ 1]
Mtodo 1:
() = ()() => () =

()
()

() = 1 1 () + 0 () + 1 1 ()
(1 1 1 )() = (0 + 1 1 )()
() =

() 0 + 1 1
=
() 1 1 1

Mtodo 2:
[] = 1 [ 1] + 0 [] + 1 [ 1]
Iterando la expresin anterior obtenemos que
[] = 0 (1 ) [] + 1 (1 )1 [ 1]
Aplicando ahora las propiedades de linealidad y retardo de la transformada y
conociendo que

[]

1
1 1

tendremos que
1
1
0 + 1 1
1
() = 0 (
)
+

(
)
=
1
1 1
1 1
1 1 1

Marco A. Iarrea Santom

Polos y ceros
El nmero de polos es igual al nmero de ceros.
Ejemplo:
Imaginemos que la funcin del sistema para un filtro IIR es
() =

3
0.5

Resulta evidente que hay un polo en = 0.5 ( 0.5 = 0). Segn acabamos de
enunciar esto significara que tambin tiene que existir un cero. Pues as es, pese a que
en este caso no resulte tan evidente. Basta con hacer
3
3
= =0
0.5

lim () = lim

Queda demostrado entonces que hay un cero en = .


Propiedad de los polinomios:
Un polinomio de grado tiene races. Si todos los coeficientes del polinomio
son reales, las races sern reales o pares de nmeros complejos conjugados.
Estabilidad
Un sistema LTI IIR con condiciones de reposo inicial es estable si todos los
polos de su funcin del sistema estn estrictamente contenidos dentro de la
circunferencia unidad en el plano complejo.
Cuando los polos no estn dentro de la circunferencia unidad, la respuesta al
impulso crece sin lmites. En cambio, cuando se cumple la condicin de estabilidad, la
respuesta al impulso se va aproximando a cero a medida que crece.
Ntese que los ceros corresponden a un filtro FIR que est en cascada con un
filtro IIR definido por los polos. Como los filtros FIR son siempre estables, la
estabilidad de los sistemas IIR slo va a depender de los polos de la funcin del
sistema.
Respuesta en Frecuencia de un filtro IIR
La relacin entre la respuesta en frecuencia y la funcin del sistema es la
siguiente

(
) = ()|=

Marco A. Iarrea Santom

En el caso de los filtros IIR necesitaremos que el sistema sea estable para que
se cumpla la igualdad anterior. Es decir, || = 1, |1 | < 1.
La respuesta en frecuencia es una funcin compleja que nos da informacin de
como va a variar la amplitud y la fase de una determinada seal al pasar por nuestro
sistema. Por ejemplo, si [] = , entonces

[] = (
)

Transformada Z inversa
La Transformada Z inversa nos permite obtener [] a partir de ().
Hasta ahora hemos visto como obtener [] a partir de []. Para los filtros IIR
de primer orden este proceso es sencillo pero a medida que aumenta el orden del
filtro se hace cada vez ms tedioso. La Transformada Z inversa se nos presenta como
una herramienta alternativa para obtener la respuesta al impulso.
Teniendo en cuenta que () = ()() y siempre y cuando el grado del
numerador de la funcin del sistema sea menor que el grado del denominador de la
misma, los pasos a seguir para encontrar [] son los siguientes:

Factorizar el polinomio del denominador de () y expresar los factores con la


forma (1 1 ) para = 1, 2, ,

Descomponer () en fracciones parciales

() =

=1

(1 1 )

donde
= ()(1 1 )|=

[] = ( ) []
=1

Marco A. Iarrea Santom

Ejemplo:

Sea
+
() =

Y
() =

Calcular y[n].
Paso 1:
0 + 1 1
() = ()() =
(1 1 1 )(1 1 )
Paso 2:
() =

0 + 1 1

=
+
(1 1 1 )(1 1 ) 1 1 1 1 1

= ()(1 1

1 )|

=1

= ()(1 1 )|=1 =

0 + 1 1 1
=
1 1 1
0 + 1
1 1

Paso 3:
0 + 1 1 1
0 + 1
[] = (
)

[]
+
(
) [] =
1
1 1 1
1 1
= ((

1 0 + 1 1 1
0 + 1
)(
) 1 + (
)) []
1
1
1 1
1 1

Solucin:
(0 + 1 ) (0 1 + 1 )1
[] = (
) []
1 1

Marco A. Iarrea Santom

Qu ocurre si ?
Ejemplo:
2 2.4 1 0.4 2
2 2.4 1 0.4 2
() =
=
=
1 0.3 1 0.4 2 (1 + 0.5 1 )(1 0.8 1 )
=

+
+
1 + 0.5 1 1 0.8 1

Dividimos el numerador entre el denominador


2 2.4 1 0.4 2
1 0.3 1 0.4 2
Cociente: 1
Resto: 1 2.1 1
Paso 1:
() =

2 2.4 1 0.4 2
1 2.1 1
=
+1=
1 0.3 1 0.4 2 1 0.3 1 0.4 2

1 2.1 1
+1
(1 + 0.5 1 )(1 0.8 1 )

Paso 2:
1 2.1 1

() =
+
1
=
+
+
(1 + 0.5 1 )(1 0.8 1 )
1 + 0.5 1 1 0.8 1
=1
= ()(1 + 0.5

= ()(1 0.8

1 )|

() =

2.1
0.5
=
=2
0.8
1
0.5
1

1 )|

=0.5

=0.8

2.1
1 0.8
0.5
1 + 0.8

= 1

2
1

+1
1 + 0.5 1 1 0.8 1

Paso 3:
[] = 2(0.5) [] (0.8) [] + []

Marco A. Iarrea Santom

Qu ocurre si las races del polinomio son complejas?


Ejemplo:
Sea [] = [ ] + []. Calcular [].
Paso 1:
() =

1
1
=

2
1+
(1 2 1 ) (1 2 1 )

Paso 2:
1

() =
(1

2 1 ) (1

2 1 )

= () (1 2 1 )|

= 2

(1

2 1 )

=
1

2 2

(1 2 1 )

1
=
1

1
=
1

1
1
1
=
=
1 (cos() sin()) 1 (1) 2

= () (1 2 1 )|

= 2

=
1


2 2

1
1
1
=
=
1 (cos() + sin()) 1 (1) 2

1
1
1
1
() = (
)+ (
)

2 1 2 1
2 1 2 1
Paso 3:
[] =

1
1

2 [] + 2 [] = cos ( ) []
2
2
2

Marco A. Iarrea Santom

Вам также может понравиться