Está en la página 1de 25

Realización de controladores y filtros

digitales

David Nieto Hernández


20 de abril de 2020
Universidad Iberoamericana León
Outline

1. Introducción

2. Programación directa

3. Programación estándar

4. Programación en serie

5. Programación en paralelo

6. Programación en escalera

1
Introducción
Introducción

Un filtro digital es un algoritmo de cálculo que convierte una


secuencia de números de entrada en una secuencia de salida, de
modo que las características de la señal se cambien de una manera
predeterminada.

2
Introducción

En este parcial se abordarán filtros digitales que se emplean con


propositos de filtrado y control. La forma general de la función de
transferencia pulso entre la salida Y (z) y la entrada X(z) está dada
por

Y (z) b0 + b1 z −1 + b2 z −2 + ... + bm z −m
G(z) = = n≥m (1)
X(z) 1 + a1 z −1 + a2 z −2 + ... + an z −n

3
Introducción

Piense en la función de transferencia pulso de un controlador PID


dado en frecuencia como
ki
C(s) = kp + kd s + ,
s
kd s2 + kp s + ki
= .
s
Sabemos que
1 1
= ⇒ s = 1 − z −1
s 1 − z −1

4
Introducción

Sustituyendo tendríamos

kd (1 − z −1 )2 + kp (1 − z −1 ) + ki
C(z) = ,
1 − z −1
kd z −2 + (2kd + kp )z −1 + kp + kd + ki
= .
1 − z −1
La cuál se puede reescribir como

b0 + b1 z −1 + b2 z −2
C(z) =
1 + a1 z −1 + a2 z −2
con

a1 = −1; a2 = 0;
b0 = kp + kd + ki b1 = −kp + 2kd ; b2 = kd ;

5
Programación directa
Programación directa

Considerando el filtro digital dado por la ecuación (1), se observa que


la función de transferencia pulso tiene n polos y m ceros. En la figura
se observa el diagrama de bloques para realizar dicho filtro.
Donde la salida de la ecuación (1) es

−1 −2 −n
Y (z) = −a1 z − a2 z − ... − an z +
−1 −2 −m
b0 X(z) + b1 z X(z) + b2 z X(z) + ... + bm z X(z)

De esta manera el número de elementos de retraso es de n + m.

6
Programación estándar
Programación estándar

El número de elementos de retraso requeridos en la programación


directa se puede reducir de n + m a n. Todo mediante el siguiente
reacomodo del diagrama de bloques.
Y (z)
Primero, se rescribe la función de transferencia pulso X(z) dada por
la ecuación (1) como sigue
Y (z) Y (z) H(z)
X(z) =
H(z) X(z)
1
= (b0 + b1 z −1 + b2 z −2 + ... + bm z −m )
1 + a1 z −1 + a2 z −2 + ... + an z −n
donde
Y (z)
= b0 + b1 z −1 + b2 z −2 + ... + bm z −m (2)
H(z)
y
H(z) 1
= (3)
X(z) 1 + a1 z −1 + a2 z −2 + ... + an z −n

7
Programación estándar

8
Programación en serie
Programación en serie

Consiste en implantar la función de transferencia pulso G(z) como


una conexión en serie de funciones de transferencia pulso de
primero y segundo orden.
Es importante mencionar que G(z) se debe poder escribir como un
producto de funciones de transferencia pulso G1 (z), G2 (z), ...Gp (z) o

G( z) = G1 (z)G2 (z)...Gp (z)

9
Programación en serie

Si los polos y ceros de G(z) son conocidos, G1 (z), G2 (z)...Gp (z) se


pueden obtener agrupando un par de polos complejos conjugados y
un par de ceros conjugados para producir una función de segundo
orden, o agrupando polos y ceros reales para producir funciones ya
sea de primero o segundo orden.

10
Programación en serie

Para resumir, G(z) se puede descomponer como sigue

G(z) = G1 (z)G2 (z)...Gp (z)


j p
Y 1 + bi z −1 Y 1 + ei z −1 + fi z −2
=
i=1
1 + ai z −1 i=j+1 1 + ci z −1 + di z −2

11
Programación en paralelo
Programación en paralelo

El objetivo de este enfoque es el de expandir la función de


transferencia pulso G(z) en fracciones parciales. De modo que

G(z) = A + G1 (z) + G2 (z) + ... + Gq (z)

donde A es simplemente una constante, entonces el diagrama de


bloques para el filtro digital G(z) se puede obtener como una
conexión en paralelo de q + 1 filtros digitales.

12
Programación en paralelo
Esto es G(z) se puede expresar como

G(z) = A + G1 (z) + G2 (z) + ... + Gq (z)


j
X q
X
= A+ Gi (z) + Gi (z)
i=1 i=j+1

j q
X bi X ei + fi z −1
= A+ +
i=1
1 + ai z −1 i=j+1
1 + ci z −1 + di z −2

13
Programación en escalera
Programación en escalera

En este enfoque se expande la función de transferencia pulso G(z)


en la siguiente fracción continuada y programar de acuerdo con esta
ecuación:
1
G(z) = A0 + 1
1
B1 z+ 1
A1 +
B2 z+...

1
...An−1 + Bn z+ A1n

14
Programación en escalera

El método de programación basado es este esquema denominado


programación en escalera. Definase

(B) 1
Gi (z) = (A)
i = 1, 2..., n − 1
Bi z + Gi (z)
(A) 1
Gi (z) = (B)
i = 1, 2..., n − 1
Ai + Gi+1 (z)
1
G(B)
n (z) =
Bn z + A1n

Entonces G(z) se puede escribir como


(B)
G(z) = A0 + G1 (z)

15
Programación en escalera ejemplo

El ejemplo será con n = 2. Esto es


1
G(z) = A0 + 1
1
B1 z+ (B)
A1 +G2 (z)

1
= A0 + 1
(A)
B1 z+G1 (z)
(B)
= A0 + G1 (z)

16
Programación en escalera ejemplo

(B) (A)
Observandose que Gi (z) se puede escribir Y Gi (z) se puede escribir como
como
(A) Yi (z) 1
(B) Yi (z) 1 Gi (z) = = (B)
Gi (z) = = (A)
Xi (z) Ai + Gi+1 (z)
Xi (z) Bi z + Gi (z)
(B)
(A) Xi (z) − Gi+1 (z)Yi (z) = Ai Yi (z)
Xi (z) − Gi (z)Yi (z) = Bi zYi (z)

Observe que
1
G(A)
n (Z) = (4)
An

17
Programación en escalera ejemplo
Mediante la combinación de las dos
es posible dibujar el diagrama de bloques del
componentes de los filtros digitales, como se
filtro digital G(z) como puede apreciarse a
muestra a continuación
continuación.

18

También podría gustarte