Realización de controladores y filtros digitales
Introducción En esta lectura se estudian los métodos de realización para funciones de transferencia pulsos que representan controladores y filtros digitales. En general, la realización de funciones de transferencia pulso significa determinar la configuración física para la combinación apropiada de operaciones aritméticas y de almacenamiento. La realización de controladores y filtros digitales puede incluir: SOFTWARE o ambos HARDWARE En una realización de software En una realización de hardware se construye un se obtienen programas procesador de propósito especial mediante circuitos de computadora para la tales como sumadores digitales, multiplicadores y computadora digital involucrada. elementos de retardo (registros de corrimiento con un periodo de muestreo T como un tiempo de retardo unitario). En el campo del procesamiento digital de señales, 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 cambian de una manera predeterminada. Un filtro digital procesa una señal digital pues permite el paso de algunas componentes de frecuencia deseadas de la señal digital de entrada y rechaza algunas otras no deseadas. En términos generales, un controlador digital es una forma de filtro digital
Esta sección trata de las realizaciones en diagramas de bloques de filtros digitales que emplean elementos de retraso, sumadores y multiplicadores. Aquí se estudiarán algunas estructuras diferentes de realizaciones en diagramas de bloques. Dichas realizaciones en diagramas de bloques se pueden utilizar como base para un diseño de software o hardware. De hecho, una vez que se completa el diagrama de bloques de una realización, la realización física en hardware o software es directa. Obsérvese que, en el diagrama de bloques de una realización, la función de transferencia pulso de z -1 representa un retardo de una unidad de tiempo (véase la figura 1-1). x (k) x( k - 1 ) X (z) z-1 z-1 X(z) Figura 1-1: Función de transferencia pulso mostrando un retardo de una unidad de tiempo. A continuación, se verán los filtros digitales que se emplean con propósitos 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: Ecuación 1.1 Dpuoenddeenlasseraci eyrola).sLbai son para muchos controladores coeficientes reales (algunos de éstos función de transferencia pulso es de esta forma.
Ejemplo La función de transferencia pulso para el controlador PID se puede expresar en la forma de la ecuación 1.1, como sigue: Ahora se estudiarán las formas de programación directa y estándar de los filtros digitales. En estas formas de programación, los coeficientes aapi yarbeic(eqnuecosmonocmanutltidipalidceasdorereaslees)n el diagrama de bloques de la realización. Aquellos esquemas de diagramas de bloques donde los coeficientes caoi my obi aparecen de manera directa multiplicadores se denominan estructuras directas. Empecemos a conocer tipos de realización… Programación directa. Considere el filtro digital dado por la ecuación (1.1). Nótese que la función de transferencia pulso tiene n polos y m ceros. En la figura 1-2 se muestra un diagrama de bloques de la realización del filtro. El hecho de que este diagrama de bloques representa la ecuación (1.1) se puede ver fácilmente, puesto que a partir del diagrama de bloques se tiene:
Al reordenar esta última ecuación se obtiene la ecuación (1.1). Figura 1-2: Diagrama de bloques de la realización de un filtro que muestra la programación directa. Este tipo de realización se denomina programación directa. Programación directa significa que se obtiene la realización del numerador y del denominador de la función de transferencia pulso mediante conjuntos de elementos de retraso por separado. El numerador utiliza un conjunto de m elementos de retraso y el denominador utiliza un conjunto diferente de n elementos de retraso. De esta manera, el número total de elementos de retraso utilizados en la programación directa es m+n. El número de elementos de retraso empleados en la programación directa se puede reducir. De hecho, el número de elementos de retraso se puede reducir de n+m a n (donde n≥m). El método de programación que utiliza el número mínimo posible de elementos de retraso se denomina programación estándar.
Programación estándar. Como se estableció previamente, el número de retrasos requeridos en la programación directa se puede reducir. De hecho, el número de elementos de retraso utilizados en la realización de la función de transferencia pulso dada la ecuación (1.1) se puede reducir de n+m a n (donde n≥m) mediante el reacomodo del diagrama de bloques, como se estudiará aquí: Primero, se reescribe la función de transferencia pulso Y(z) / X(z) dada la ecuación (1.1) como sigue: Donde: Ecuación 1.2 Y: Ecuación 1.3 Entonces, se dibuja el diagrama de bloques para los sistemas dados por las ecuaciones (1.2) y (1.3) respectivamente. Para dibujar el diagrama de bloques, se puede reescribir la ecuación (1.2) como: Ecuación 1.4
Y la ecuación (1.3) como: Ecuación 1.5 Entonces, a partir de la ecuación (1.4), se obtiene la figura (1-3a)). De modo similar, se obtiene la figura 1-3b) a partir de la ecuación (1.5). La combinación de estos dos diagramas de bloques da el diagrama de bloques para el filtro G(z), como se muestra en la figura (1-3c)). El diagrama de bloques de la realización como se presentó aquí está basado en la programación estándar. eNplroeemtaeleiqmnuteoenstsaodcleoiórsnee.aluimtileiznatnacnióenleymloesntcoosedfiecierenttreassob.1L, obs2 ,…cobemficiaepnaterescean1 ,cao2m, …o aenlemapeanrteocsednecomo b0 b1 b2 H(z) z-1 z-1 z-1 bm Y(z) a) Figura 1-3a): Diagrama de bloques de la realización de la ecuación 1.4. X(z) H(z) z-1 z-1 z-1 + z-1 a2 - a1 ... ... am an b) Figura 1-3b): Diagrama de bloques de la realización de la ecuación 1.5.
b0 b1 b2 X(z) + - H(z) z-1 ...z-1bm + Y(z) ... ...a2 z-1 z -1 + a1 am an c) Figura 1-3c): Diagrama de bloques de la realización del filtro digital dado por la ecuación 1.1 mediante programación estándar. Los diagramas de bloques en las figura 1-2 Y 1-3c) son equivalentes, pero el ultimo utiliza n elementos de retraso, mientras que el formal utiliza n+m elementos de retraso. Obviamente, se prefiere el ultimo diagrama, el cual utiliza un número más pequeño de elementos de retraso.
Notas. Observe primero que utilizar un número mínimo de elementos de retraso ahorra un espacio en memoria de los controladores digitales. También utilizar un número mínimo de puntos suma es conveniente. Nota que, en la realización de controladores o filtros digitales, es importante tener un buen nivel de exactitud. Es esencia, son tres las fuentes de error que afectan la exactitud 1.- El error debido a la cuantificación de la señal de entrada en un número finito de niveles discretos. 2.- El error debido a la acumulación de errores de redondeo en las operaciones aritméticas en el sistema digital. 3.- El error debido a la cuantificación de lhoascceorseeficmieánstegsraani dye bai de la función de transferencia pulso. Este error puede medida que el orden de la función de transferencia pulso se incrementa. Esto es, en los filtros digitales de orden superior en la estructura directa, los errores pequeños en los cloosecfiecrieonstdeselafiilytrobdi cigaituasl.an grandes errores en las localizaciones de los polos y Estos tres errores surgen debido a las limitaciones prácticas del número de bits que representa a las muestras de la señal y a los coeficientes. Observe que el tercer tipo de error se puede reducir mediante la descomposición matemática de las funciones de transferencia pulso de orden superior en una combinación de funciones de transferencia pulso de orden pequeño. De esta forma, el sistema se puede hacer menos sensible a la inexactitud de los coeficientes. Para la descomposición de funciones de transferencia pulso a fin de evitar el problema de la sensibilidad de los coeficientes, se utilizan por lo regular los tres enfoques siguientes: 1.- Programación en serie. 2.- Programación en paralelo. 3. Programación en escalera.
Programación en serie. El primer enfoque empleado para evitar el problema de sensibilidad consiste en implantar la función de transferencia G(z) como una conexión en serie de funciones de transferencia pulso de primero y segundo orden. Si G(z) se puede escribir como un producto de funciones de transferencia pulso G1(z), G2(z), … , Gp (z), o: G(z)=G1 (z)G2 (z) ... Gp (z) Entonces el filtro digital para G(z) puede estar dado como una conexión en serie de componentes de filtros digitales G1 (z), G2(z), … , Gp(z), como se muestra en la figura 1-4. G1(z) G2(z) Gp(z) y(k) Y(z) Figura 1-4: Filtro digital G(z) descompuesto en una conexión en serie G1 (z), G2 (z),…, Gp (z) sEoebngtleuannmedroaayogorrrduíaepnda.neSdloiolsouscnappsoaolros,sdleayspcoGelrioo(ssz)cd(oeim=G1p,(lz2e),jos…os,ncpoc)nosjnueogecaliiddgooessn,ycGou1mn(zop),afGrund2 ce(zioc),ne…ero,ssGdpceo(zpn)rjuismgeeaprdouoeosden para producir una función de segundo orden, o agrupando polos y ceros reales para producir funciones ya sea de primero o segundo orden. Por supuesto es posible agrupar dos ceros reales con un par de polos complejos conjugados, o viceversa. La agrupación es, en un sentido, arbitraria. Es preferible hacer la agrupación de formas diferentes para ver cuál es la mejor respecto al número de operaciones aritméticas requeridas, los rangos de los coeficientes, etc.
Para resumir, G(z) se puede descomponer como sigue: Los diagramas de bloques para Ecuación 1.6 Y para: Ecuación 1.7 Se muestran en las figuras 1-5a) y b), respectivamente. El diagrama de bloques del filtro digital G(z) es una conexión en serie de p componentes de filtros digitales como los que se muestran en las figuras 1-5a) y b). x(k) + z -1 bi + + y(k) X(z) - Y(z) ai __Y__(_z_)__ = _1_+___b__i__z-1 X(z) 1+ ai z-1 a) Figura 1-5a): Representación mediante diagrama de bloques de la ecuación 1.6.
ei x(k) + z -1 z -1 fi + + y(k) X(z) - Y(z) ci di __Y__(_z_)__ = __1__+___e_i_z_-_1_+___f_i _z_-_2__ X(z) 1 + ci z-1 + di z-2 b) Figura 1-5b): Representación mediante diagrama de bloques de la ecuación 1.7. Programación en paralelo. El segundo enfoque para evitar el problema de sensibilidad de los coeficientes es expandir la función de transferencia pulso G(z) en fracciones parciales. Si G(z) se expande como una suma de A, G1 (z), G2 (z),…, Gq (z), o 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 G(z) se puede obtener como una conexión en paralelo de q+1 filtros digitales, como se muestra en la figura 1-6. A x(k) G1(z) + y(k) X(z) Gq-1(z) + Y(z) Gq(z) Figura 1-6: Filtro digital G(z) descompuesto en una conexión en paralelo de A, G1 (z), G2 (z),…, Gq (z)
Debido a la presencia del término constante A, las funciones de primero y segundo orden se pueden elegir en formas sencillas. Esto es, G(z) se puede expresar como: El diagrama de bloques para: Ecuación 1.8 Y el correspondiente para: Ecuación 1.9 Se muestran en las figuras 1-7a) y b, respectivamente. La conexión en paralelo de q+1 componentes de filtros digitales producirá el diagrama de bloques para el filtro digital G(z). x(k) z -1 y(k) + ai bi X(z) - Y(z) __Y__(_z_)__ = ______b__i ___________ X(z) 1 + ai z-1 a) Figura 1-7a): Representación mediante diagrama de bloques de la ecuación 1.8.
ei fi x(z) z-1 + y(k) + z-1 di + X(z) - H(z) Y(z) ci __Y__(_z_)__ = ______e_i__+__f_i _z__-1____ X(z) 1 + ci z-1 + di z-2 b) Figura 1-7b): Representación mediante diagrama de bloques de la ecuación 1.9. Programación en escalera. El tercer enfoque para evitar el problema de la sensibilidad de los coeficientes es implantar una estructura en escalera, esto es, expandir la función de transferencia pulso G(z) en la siguiente fracción continuada y programar de acuerdo con esta ecuación: Ecuación 1.10 El método de programación basado en este esquema se denomina programación en escalera. Defínase
Entonces G(z) se puede escribir como: Se explicará este método de programación mediante un ejemplo sencillo donde n = 2. Esto es: Mediante el uso de las funciones G1A (z), G1B (z), G2B (z), la función de transferencia G(z) se puede escribir como sigue: Observe que G1B (z) se puede escribir como: Ecuación 1.11 El diagrama de bellodqiaugersampaaradeGibBl(ozq)udeasddaepGoriAla(ze),cquuaeciópnue1d.1e1essetamr duaedsotrapoern: la figura 1-8a). De manera similar, Ecuación 1.12 O:
Se puede dibujar como se muestra en la figura 1-8b). Observe que (A) 1 xi(k) + _1__ z -1 yi(k) Xi(z) - Bi Yi(z) Gi(A)(z) a) Figura 1-8a): Diagrama de bloques para GiB (z) dado por la ecuación 1.11. xi(k) + _1__ yi(k) Xi(z) - Ai Yi(z) G (B) (z) i+1 b) Figura 1-8b): Diagrama de bloques para GiA (z) dado por la ecuación 1.12. Mediante la combinación de las dos componentes de los filtros digitales, como se muestra en la figura 1-9a), es posible dibuja el diagrama de bloques del filtro digital G(z) como puede apreciarse en la figura 1-9b). Observe que las figuras 1-9a) y b) corresponden al caso donde n = 2.
x(k) y(k) X(z) A0 + 1 + Y(z) 1 G1(B)(z) + - 2 3 _1__ z -1 2 3 B1 4 5 4 5 G1(A)(z) -+ + _1__ - A1 G2 (B)(z) 6 _1__ z -1 6 B2 _1__ A2 a) Figura 1-9a): Diagrama de bloques componentes para la programación en escalera de G(z) dada por la ecuación 1.10 cuando n = 2.
x(k) y(k) X(z) A0 + 1 + Y(z) + - 2 3 _1__ z -1 B1 5 + _1__ 4 - A1 + - 6 _1__ z -1 B2 _1__ A2 Figura 1-9b): Combinación de los diagrama de bloques componentes que muestra la programación en escalera de G(z)
Notas Los filtros digitales basados en la programación en escalera tienen ventajas respecto a la sensibilidad y exactitud de los coeficientes. La realización de la estructura en escalera se logra mediante la expansión de la G(z) en fracciones continuadas alrededor del origen. Se observa que la expansión en fracciones continuadas dada por la ecuación 1.10 no es la única forma posible. Existen algunas maneras diferentes para construir la estructura de la escalera. Por ejemplo, un filtro digital G(z) se puede estructurar como una expansión en la forma de fracciones continuadas alrededor del origen en términos de z-1, como sigue: También, en lugar de G(z), su inversa 1/G(z) se puede expandir en la forma de fracciones continuadas en términos de z o de z -1 con la finalidad de llevar a cabo la programación en escalera. Ejemplo Obtenga los diagramas de bloques para la función de transferencia pulso del sistema (un filtro digital) mediante 1) programación directa, 2) programación estándar y 3) programación en escalera:
1 Programación directa. Puesto que la función de transferencia pulso dada se puede escribir como: La programación directa da como resultado el diagrama de bloques que se muestra en la figura 1-10. Note que se necesitan dos elementos de retraso. x(k) z -1 0.3 + y(k) - Y(z) 2 - X(z) 0.5 z -1 Figura 1-10: Diagrama de bloques de la realización de Y(z) / X(z) = (2-0.6z-1) / (1+0.5 z-1) (programación directa). 2 Programación estándar. Primero se reescribirá la función de transferencia pulso como sigue: Donde: Y: Los diagramas de bloques de las realizaciones de estas dos últimas ecuaciones se muestran en la figura 1-11a) y b), respectivamente. Si se combinan estos dos diagramas se obtiene el diagrama de bloques para el filtro digital Y(z) / X(z), como se muestra en la figura 1-11c). Nótese que el número de elementos de retraso requeridos se ha reducido a 1 mediante la programación estándar. h(k) + y(k) H(z) z -1 0.3 - Y(z) a) Figura 1-11a): Diagrama de bloques de la realización de Y(z) / H(z) = (1-0.3z-1).
x(k) + z -1 h(k-1) 2 - H(z) z-1H(z) X(z) 0.5 b) Figura 1-11b): Diagrama de bloques de la realización de H(z) / X(z) = 2 / (1+0.5z-1). x(k) + z -1 + y(k) 2 - 0.3 - X(z) Y(z) 0.5 c) Figura 1-11c): Combinación de los diagramas de bloques de los incisos a) y b) (programación estándar). 3 Programación en escalera. Primero se reescribirá Y(z) / X(z) en la forma de escalera como sigue: De este modo, A0= 2 y Por tanto, se obtiene: Refiriéndose a la figura 1-8a) pXa(zr)aceol mdioagsreammauedsetrbaloenqulaesfigdueraG11B-(1z2),. se obtiene el diagrama de bloques del filtro digital Y(z) / Nótese que solo se necesita un elemento de retraso.
xi(k) + _1__ z -1 yi(k) Xi(z) - Bi Yi(z) 2 Gi(A)(z) a) Figura 1-8a): Diagrama de bloques para GiB (z) dado por la ecuación 1.11. x(k) y(k) 2+ X(z) + Y(z) + -1.6 z -1 - - 0.3125 Figura 1-12: Diagrama de bloques de la realización Y(z) / X(z) = (2-0.6 z -1) / (1+0.5 z -1) Filtro de respuesta al VS Filtro de respuesta al impulso impulso infinita finita. Los filtros digitales se pueden clasificar de acuerdo con la duración de la respuesta al impulso. Realización de un filtro de respuesta al impulso infinita Considere un filtro digital definido mediante la siguiente función de transferencia pulso: Ecuación 1.13 Donde n≥m. En términos de la ecuación de diferencias,
La respuesta al impulso del filtro digital definido por la ecuación 1.13, donde se supone que no todas las paui esdoannchearcoe, rtsieendeeusnprneúcmiaebrloeminefinntietopdeequmeuñeasstraasmdeidfeidreanqteuse de cero, aunque sus magnitudes k se incremente. Este tipo de filtro digital se denomina filtro de respuesta al impulso infinita. Dicho filtro digital también se denomina filtro recursivo, debido a que los valores anteriores de la salida junto con los valores presentes y pasados de la entrada se utilizan en el procesamiento de la señal para obtener el valor actual de la salida y(k). Debido a la naturaleza recursiva, se pueden acumular los errores de las salidas anteriores. Un filtro recursivo se puede reconocer mediante la presencia de ai y bi en el diagrama de bloques de la realización. Ahora, considere un filtro digital donde los coeficientes a_i son todos ceros, o donde: Ecuación 1.14 En términos de la ecuación en diferencias: La respuesta al impulso del filtro digital definido mediante la ecuación 1.14 está limitando a un número finito de muestras definidas sobre un rango finito de intervalos de tiempo; esto es, la respuesta impulso es una secuencia finita. Este tipo de filtro se denomina filtro de respuesta al impulso finita. También se denomina filtro no recursivo, o filtro de promedio móvil. En una realización no recursiva, el valor presente de la salida depende solo de los valores presente y pasado de la entrada. El filtro de respuesta al impulso finita se puede reconocer por la ausencia de las ai en el diagrama de bloques de la realización. Realización de un filtro de respuesta al impulso finito. Ahora se considerará la realización de un filtro de respuesta al impulso finita. La secuencia de la respuesta al impulso finita (secuencia de ponderación) del filtro digital se define como g(kT). Si la entrada x(kT) se aplica a este filtro, entonces la salida y (kT) puede estar dada mediante: Ecuación 1.15
La salida y(k) es una sumatoria de convolución de la señal de entrada y la secuencia de la respuesta al impulso. El segundo miembro de la ecuación 1.15 consta de k+1 términos. De este modo, la salida y(kT) está dada en términos de las k entradas anteriores x(0), x(T), x((K-1)T) y la entrada actual x(kT). Note que a medida que k se incremente no es físicamente posible procesar todos los valores anteriores de la entrada para producir la salida actual. Se necesita limitar el número de valores anteriores de la entrada a procesar. Suponga que se decide emplear los N inmediatos valores anteriores de la entrada x((k-1)T), x((k- 2)T),…, x((K-N)T) y la entrada actual x(kT). Esto es equivalente a aproximar el segundo miembro de la ecuación 1.15 mediante los N+1 valores anteriores de la entrada más reciente incluyendo el valor actual, o: Ecuación 1.16 Debido a que la ecuación 1.16 es una ecuación en diferencias, el correspondiente filtro digital en el plano z se puede obtener como sigue. Al tomar la transformada z de la ecuación 1.16 se tiene: x(k) z -1 Ecuación 1.17 z -1 X(z) z -1 g(0) g(T) g(2T) g(NT) + y(k) + Y(z) Figura 1-13: Diagrama de bloques de la realización de la ecuación 1.17.
Las características del filtro de respuesta al impulso finita se pueden resumir como sigue: 1.- El filtro de respuesta al impulso finita es no recursivo. De esta manera, debido a la falta de realimentación, la acumulación de errores de las salidas anteriores se puede evitar en el procesamiento de la señal. 2.- La implantación del filtro de respuesta al impulso finita no requiere de realimentación, de modo que la programación directa y la programación estándar son idénticas. También, la implantación se puede lograr mediante convolución de alta velocidad mediante la transformada rápida de Fourier. 3.- Los polos de la función de transferencia pulso del filtro de respuesta al impulso finita están en el origen, y por lo tanto este es siempre estable. 4.- Si la señal de entrada incluye componentes de alta frecuencia, entonces el número de elementos de retraso necesarios en el filtro se respuesta al impulso finita se incrementa y la cantidad de tiempo de retraso se alarga.
Ejemplo Obtenga los diagramas de bloques para la función de transferencia pulso del sistema (un filtro digital) mediante 1) programación directa, 2) programación estándar y 3) programación en escalera: 1 Programación directa. Puesto que la función de transferencia pulso dada se puede escribir como la programación directa da como resultado el diagrama de bloques que se muestra en la figura 1-10. Note que se necesitan dos elementos de retraso. 2 Programación estándar Primero se rescribirá la función de transferencia pulso como sigue: donde y x(k) z -1 + y(k) X(z) 2 Y(z) 0.3 - - 0.5 z -1 Figura 1-10 Diagrama de bloques de la realización de Y(z)/X(z)=(2-0.6z -1 ) / (1+ 0.5z -1) ) (programación directa).
Ahora ¡un nuevo reto!... El filtro digital que se estudió en el ejemplo anterior es un filtro recursivo. Modifique este filtro y haga su realización como un filtro no recursivo. Luego obtenga la respuesta de este filtro no recursivo a una entrada delta de Kronecker. Al dividir el número del filtro recursivo G(z) entre el denominador, se obtiene: Al truncar de manera arbitraria esta serie en z-7, se obtiene el filtro no recursivo adecuado, como sigue: Ecuación 1.18 x(k) z -1 z -1 z -1 z -1 z -1 z -1 z -1 X(z) 2 -1.6 0.8 -0.4 0.2 -0.1 0.05 -0.025 y(k) Y(z) Figura 1-14: Diagrama de bloques para el filtro digital dado por la ecuación 1.18 (forma no recursiva).
En la figura se muestra el diagrama de bloques para este filtro no recursivo. Note que se requiere de un número grande de elementos de retraso para obtener un buen nivel de exactitud. Observe que el filtro digital es la transformada z de la secuencia de la respuesta al impulso, la transformada z inversa del filtro digital da la secuencia de la respuesta al impulso. Al tomar la transformada z inversa del filtro no recursivo dado por la ecuación 1.18, se obtiene: Para la entrada delta de Kronecker, donde x(0) = 1 y x(kT) = 0 para k ≠ 0, esta última ecuación da como resultado: La secuencia de la respuesta al impulso para este filtro digital se muestra en la figura 1-15: y(k) 2 4 6 8k 2 1 0 -1 -2 Figura 1-15: Secuencia de la respuesta al impulso para el filtro digital dado por la ecuación 1.18.
Referencias Fadali, M. S., & Visioli, A. (2013). Digital control engineering: analysis and design. Academic Press. Fernández del Busto, R. (2013). Análisis y diseño de sistemas de control digital. McGraw-Hill Interamericana. Ogata, K. (1996). Sistemas de control en tiempo discreto. Pearson educación.
Search
Read the Text Version
- 1 - 29
Pages: