Búsqueda de estructuras de reguladores en sistemas de control discreto que minimicen los efectos debidos a la utilización de aritmética de precisión finita
Full text
UNIVERSIDAD DE ALCALÁ ESCUELA POLITÉCTICA SUPERIOR TESIS DOCTORAL Búsqueda de estructuras de reguladores en sistemas de control discreto que minimicen los efectos debidos a la utilización de aritmética de precisión finita Autor: Jesús F. Sánchez Golmayo Director: Dr. D. Francisco López Ferreras Curso: 2006-2007
Índice general I ÍNDICE GENERAL ÍNDICE GENERAL I ÍNDICE DE FIGURAS V ÍNDICE DE TABLAS XI RESUMEN XIII SUMMARY XV CAPÍTULO 1 1 INTRODUCCIÓN 1 1.1.- Introducción 1 1.2.- Objetivos de la investigación y metodología 3 1.3.- Estructura de la memoria 6 CAPÍTULO 2 7 REVISIÓN HISTÓRICA Y CONTEXTO 7 2.1.- Introducción 7 2.2.- Evolución de la tecnología y de la teoría de sistemas discretos de control 7 2.3.- Revisión de los conocimientos 10 2.4.- Revisión de las técnicas de diseño de sistemas de control en tiempo discreto 18 2.4.1.- Diseño clásico 19 2.4.1.1.- Diseño continuo 19 2.4.1.2.- Diseño discreto 21 2.4.1.3.- Síntesis directa 22 2.4.2.- Diseño en el espacio de estados 22 2.4.2.1.- Descripción interna de sistemas lineales continuos muestreados 23
II Índice general 2.4.2.2.- Diseño por realimentación de los estados y observadores 24 2.4.2.3.- Control lineal óptimo cuadrático 28 2.4.2.4.- Control lineal óptimo cuadrático gaussiano (LQG) 30 2.5.- Estructuras de reguladores digitales 33 2.5.1.- Estructuras directas 34 2.5.1.1.- Estructura directa 1D 35 2.5.1.2.- Estructura directa 2D 36 2.5.1.3.- Estructura directa 3D 36 2.5.1.4.- Estructura directa 4D 37 2.5.2.- Módulos de segundo orden 38 2.5.3.- Realización de reguladores PID 40 2.5.4.- Realización en cascada 42 2.5.5.- Realización en paralelo 42 2.5.6.- Realización en escalera 43 2.5.7.- Otras implementaciones 45 2.6.- Escalado en punto fijo de reguladores digitales 46 2.6.1.- Escalado lp 46 2.6.2.- Escalado l 1 47 2.6.3.- Escalado en lazo cerrado 49 2.6.4.- Escalado l 2 51 2.6.5.- Escalado con escalón unitario 52 CAPÍTULO 3 53 EFECTOS FWL 53 3.1.- Introducción 53 3.2.- Sistemas de numeración en punto fijo 53 3.2.1.- Sistema de numeración en módulo y signo 54 3.2.1.1.- Cuantificación por truncación 54 3.2.1.2.- Cuantificación por redondeo 56 3.2.1.3.- Cuantificación LSB-1 56 3.2.2.- Sistema de numeración en complemento a dos 58 3.2.2.1.- Cuantificación por truncación 58 3.2.2.2.- Cuantificación por redondeo 60 3.2.2.3.- Cuantificación LSB-1 61 3.3.- Cuantificación de los coeficientes del regulador 62
Índice general III 3.4.- Cuantificación de las señales 65 3.4.1.- Error de cuantificación en la conversión A/D 66 3.4.2.- Errores de cuantificación en las variables internas y en la salida del regulador 68 3.5.- Ciclos límite debidos a la utilización de la aritmética de precisión finita en sistemas de control en tiempo discreto 74 3.6.- Oscilaciones de Overflow 78 3.7.- Minimización de oscilaciones de ciclos límite y de oscilaciones de overflow 79 3.6.- Detección de ciclos límite en filtros digitales 83 3.6.1.- Cotas de amplitud de los ciclos límite en filtros digitales 84 3.6.2.- Determinación de la cota máxima del periodo de los ciclos límite 89 3.6.3.- Consideraciones en sistemas discretos de control 90 CAPÍTULO 4 93 REPRESENTACIÓN DE SISTEMAS DISCRETOS MEDIANTE MATRICES EFG, ENTORNO DE SIMULACIÓN Y ALGORITMO DE BÚSQUEDA EXHAUSTIVA 93 4.1.- Introducción 93 4.2.- Representación de sistemas discretos mediante matrices EFG 93 4.2.1.- Obtención directa de las matrices EFG 97 4.2.2.- Función de transferencia y representación EFG 98 4.2.3.- Consideraciones sobre la descripción EFG 99 4.2.4.- Aplicación a un sistema discreto de control 100 4.3.- Otras representaciones 102 4.4.- Entorno de simulación 104 4.5.- Detección de ciclos límite en sistemas discretos de control 108 4.5.1.- Fundamentos teóricos 108 4.5.2.- Algoritmo de búsqueda exhaustiva 112 4.5.3.- Detección de ciclos límite 115 CAPÍTULO 5 131 DESARROLLO DE LA INVESTIGACIÓN Y RESULTADOS 131 5.1.- Introducción 131
IV Índice general 5.2.- Características del sistema de control 131 5.3.- Análisis del efecto de la cuantificación de los coeficientes del regulador 133 5.3.1.- Análisis de cada estructura con distintos tipos de cuantificación variando el número de bits 133 5.3.2.- Análisis comparativo entre estructuras 139 5.4.- Análisis de los ciclos límite debidos a cuantificación 144 5.4.1.- Resultados de búsqueda por estructuras cuantificando con 6 bits 146 5.4.2.- Resultados comparativos entre estructuras cuantificando con 6 bits 152 5.4.3.- Resultados de búsqueda cuantificando con 8 bits 154 5.4.2.- Resultados comparativos entre estructuras cuantificando con 8 bits 158 CAPÍTULO 6 161 CONCLUSIONES 161 6.1.- Introducción 161 6.2.- Conclusiones generales 161 6.2.1.- Conclusiones sobre el efecto de la cuantificación de los coeficientes del regulador del sistema de control digital 162 6.2.2.- Efecto de los ciclos límite en función del tipo de cuantificación 163 6.3.- Aportaciones originales de la tesis doctoral 164 6.4.- Futuras líneas de investigación 164 Glosario de abreviaturas y símbolos 167 Referencias Bibliográficas 171
Índice general V ÍNDICE DE FIGURAS Figura 1.1: Esquema de diseño e implementación 4 Figura 2.1: Diagramas de bloques de sistemas de control continuo y discretos 8 Figura 2.2: Diagrama de bloques de un si sistema de control continuo 19 Figura 2.3: Diagrama de bloque de un sistema de control muestreado 19 Figura 2.4: Diagrama de bloque de un sistema de control discreto 21 Figura 2.5: Diagrama de bloque de un sistema de control en variables de estado 22 Figura 2.6: Diseño por realimentación de los estados 24 Figura 2.7: Diagrama de un sistema con entrada de referencia 25 Figura 2.8: Sistema de control por realimentación de los estados con observadorpredictor 26 Figura 2.9: Implementación digital de observador-predictor 27 Figura 2.10: Diagrama de bloque de un sistema de control óptimo 29 Figura 2.11: Diagrama de bloque de un LQG actual 32 Figura 2.12: Diagrama de bloque de un sistema de control LQG predictor 33 Figura 2.13: Diagramas de flujo de las estructuras 1D y 2D 36 Figura 2.14: Diagramas de flujo de las estructuras 3D y 4D 37 Figura 2.15: Diagramas de flujo de módulos de segundo orden 38 Figura 2.16: Diagrama de flujos de la estructura 1X 40 Figura 2.17: Diagrama de flujos de la estructura 2X 40 Figura 2.18: Diagrama de flujos de un regulador PID 41 Figura 2.19: Descomposición en cascada 42 Figura 2.20: Realización en paralelo 43 Figura 2.21: Realizaciones en escalera 44 Figura 2.22: Escalado en lazo abierto 47 Figura 2.23: Sistema de control en lazo cerrado 49
VI Índice general Figura 2.24: Escalado de un sistema de control en lazo cerrado 50 Figura 3.1: Características de la aritmética en módulo y signo 55 Figura 3.2: Características de la aritmética en complemento a dos 59 Figura 3.3: Diagrama de bloques de un sistema de control muestreado 63 Figura 3.4: Conversor A/D 67 Figura 3.5: Modelo equivalente del conversor A/D 67 Figura 3.6: Modelo de conversor y regulador 67 Figura 3.7: Modelo del producto 69 Figura 3.8: Modelo del regulador 69 Figura 3.9: Modelo general 72 Figura 3.10: Cuantificación en filtro de primer orden 75 Figura 3.11: Filtro de segundo orden 78 Figura 3.12: Característica de saturación 79 Figura 3.13: Esquema de eliminación de ciclos límite 80 Figura 4.1: Sistema discreto 93 Figura 4.2: Estructura 1D con numeración de nodos 96 Figura 4.3: Sistema discreto de control equivalente 100 Figura 4.4: Diagrama de flujos del sistema de control 100 Figura 4.5: Ventana principal del programa 104 Figura 4.6: Ventana de simulación de sistemas 105 Figura 4.7: Ventana de visualización y obtención de la respuesta temporal 106 Figura 4.8: Ventana de búsqueda de ciclos límite 107 Figura 4.9: Ventana de selección del algoritmo de búsqueda 108 Figura 4.10: Sistema de control digital 108 Figura 4.11: Sistema de regulación 109 Figura 4.12: Diagrama de flujo del algoritmo de búsqueda exhaustiva. 114
Índice general VII Figura 4.13: Repuesta ante entrada pulso del sistema de la figura 4.3 cuantificando con 6 bits, TC2 y saturación. 116 Figura 4.14: Proceso de detección de un ciclo límite de periodo T = 5 en un sistema de control digital mediante la actualización de Vtest. 117 Figura 4.15: Ciclo límite con transitorio y periodo pequeño. 118 Figura 4.16: Ciclo límite con transitorio grande y periodo pequeño. 119 Figura 4.17: Ciclo límite con transitorio grande y periodo pequeño. 119 Figura 4.18: Repuesta al pulso de valor 0.35 del sistema cuantificando el regulador con la estructura 1Desc TC2 y 6 bits 120 Figura 4.19: Plano de fases de las variables de estado sin cuantificar del sistema cuantificando el regulador con la estructura 1Desc, TC2 y 6 bits 120 Figura 4.20: Ciclo límite con transitorio pequeño y periodo grande. 120 Figura 4.21: Ciclo límite con transitorio y periodo grandes. 121 Figura 4.22: Respuesta ante una entrada pulso del sistema de control ideal y cuantificando coeficientes y operaciones en el regulador con 6 bits, TC2 y saturación 121 Figura 4.23: Comprobación de ciclo limite detectado 124 Figura 4.24: Diagrama de flujo del algoritmo de detección de búsqueda exhaustiva 125 Figura 5.1: Sistema de control 131 Figura 5.2: Equivalente discreto 132 Figura 5.3: Mapa de ceros y polos del sistema de control en lazo cerrado 132 Figura 5.4: Respuesta ideal al escalón 133 Figura 5.5: Respuesta ideal a la rampa 133 Figura 5.6: Diagrama de flujo del sistema de control 134 Figura 5.7: Respuesta al escalón unitario del sistema con implementación directa TC2, RED y TMS – 5 bits frente a la respuesta ideal 135 Figura 5.8: Respuesta al escalón unitario del sistema con implementación directa, TC2, RED y TMS – 8 bits frente a la respuesta ideal 135 Figura 5.9: Respuesta al escalón unitario del sistema con implementación directa, TC2 con RED y TMS – 16 bits frente a la respuesta ideal 135 Figura 5.10: Respuesta al escalón unitario del sistema con implementación 1D, TC2, RED y TMS – 5 bits frente a la respuesta ideal 136
Índice general XV SUMMARY Control algorithms (digital controllers) are dynamic discrete systems. Those systems are obtained designing discrete control system. So, it is necessary an implementation using software and/or digital hardware. The digital implementation forces the variables and filter coefficients to belong to a discrete set of values given by the length of the digital register (finite precision). Two-Complement Fixed-Point Arithmetic is the most used for the implementation of digital controllers because the microcontrollers and microprocessors using such arithmetic are cheap and fast. Using finite precision arithmetic in a controller implementation gives a non-linear control system although the initial specification was linear. This implementation causes new problems and the FWL (finite word length) effects. The analytic study of those effects is very difficult. If this effects are not taken into account, the system can not fulfill the initial specifications. The effects of finite word length (A/D conversion, coefficient quantization, limit cycles and quantization noise) has been studied numerous researchers in signal processing and in discrete control systems. In this thesis, research has been developed in the design of discrete-time control system where the controller are implemented by a microcontroller or a computer for the processing. In order to minimize the finite length arithmetic effects several implementations have been developed in the last years. Implementation of the transfer function can be perform using a given structured or can be divided in first and second order modules. The controller quantization of coefficients and the analysis of the limit cycles produced by the finite length arithmetic in the closed loop control systems are the general objectives in this research. This thesis introduce a new way to represent the discrete system very appropriated for finite length effect study. This representation has been used to develop the simulation workbench and the algorithm to look for limit cycles in the discrete control systems. As an example to show the procedure, a well-known digital control system has been designed. Alter the design, the behaviour of the system has been analyzed with different structures to implement the ideal controller, where the coefficients (the closed loop system are modified) and the coefficients and operations (limit cycles can appear) are quantized. The goal is to obtain a structure with minimum modification of the ideal system and with minimum effects from the limit cycles over the system response.
Capítulo 1: Introducción 1 CAPÍTULO 1 Introducción 1.1.- Introducción Finalizado el proceso de cálculo y diseño de un regulador digital llega el momento de su implementación mediante software y/o hardware digital. La implementación de estos reguladores en hardware y/o software implica que el valor de las variables y de los coeficientes del filtro digital resultante estén restringidos a un conjunto finito de valores discretos limitado por la longitud de los registros (precisión finita). Se han descrito varios tipos de sistemas de numeración y aritméticas para la implementación de filtros digitales: aritmética en punto fijo, aritmética en punto flotante, aritméticas distribuidas, logarítmica, códigos digitales sellados, sistemas de números residuales, números de Fibonacci, transformaciones de Fermat, etc. Es la aritmética en punto fijo en complemento a dos la más utilizada en la implementación de reguladores digitales. Los microcontroladores que operan con esta aritmética son baratos y rápidos. La utilización de la aritmética de precisión finita en la implementación de reguladores convierte un sistema de control que en principio es lineal en uno que es no lineal provocando la aparición de nuevos problemas y efectos FWL (finite word length) de muy difícil estudio analítico, que pueden dar lugar, si no se tienen en cuenta, a que el sistema no funcione según las especificaciones previstas. Los algoritmos de control digital se suelen realizar mediante microcomputadores y microprocesadores, cuyos registros internos tienen longitudes de palabra de 8, 16 ó 32 bits. En esta implementación aparecen errores cuyas causas más importantes son la producida por el efecto de la cuantificación de los coeficientes de la función de transferencia del regulador y la debida a los errores de redondeo o truncado de las operaciones internas para su almacenamiento en registros de longitud de palabra finita. En los sistemas de control en tiempo discreto se distinguen tres tipos de fuentes de error: • Conversión A/D y almacenamiento. • Truncados y redondeos en operaciones aritméticas en el regulador. • Cuantificación de los coeficientes de las ecuaciones en diferencias del regulador. En las operaciones aritméticas y en la conversión A/D se pueden producir desbordamientos (overflow) en los registros que se pueden evitar con un conveniente escalado. Los efectos debidos al redondeo y de la cuantificación dependen del sistema de realimentación y de los detalles del algoritmo de control. Se puede influir de manera considerable sobre estos efectos cambiando la ley de control o los detalles del algoritmo. En términos generales los efectos del redondeo y/o truncado dan lugar a errores pequeños, mientras que los efectos de los desbordamientos pueden ser desastrosos. Tanto unos como
2 Capítulo 1: Introducción otros pueden dar lugar a oscilaciones en los nodos o ciclos límite. La cuantificación de los coeficientes puede provocar inestabilidad en el sistema de control, pero en todo caso este es un efecto determinista. Los efectos de la precisión finita (conversión A/D, cuantificación de los coeficientes, ciclos límite y ruido de cuantificación) han sido estudiados por numerosos investigadores en el campo del procesado digital de la señal y en el de los sistemas discretos de control. Seguidamente se expone un repaso breve de las principales aportaciones en el análisis de estos problemas. En el contexto del filtrado digital los pioneros fueron R.B. Blackman y Bertram [BER58] que estudiaron el efecto de banda muerta y el ciclo limite asociado a ella, Jackson [JAC69] desarrolla técnicas para el estudio de la banda muerta y ciclos límite en filtros digitales de primer y segundo orden. Ya en los años setenta, Parker y Hess [PAR79], desarrollan métodos basados en hallar cotas de amplitud para los ciclos límite, que llegan a ser útiles para determinar la longitud de palabra de los registros del filtro. Mullis y Robert [MUL76] realizan filtros digitales con estructuras que producen unos resultados aceptables en cuanto al ruido de redondeo a la salida del filtro; para ello utilizan estructuras en variables de estado, obteniendo realizaciones que carecen de ciclos límite. En años siguientes, debido al avance de la tecnología (aumento de la longitud de palabra de los registros, utilización de procesadores en coma flotante, etc., los estudios van en la dirección de la búsqueda de estructuras de implementación de filtros que minimicen o eliminen estos efectos. En el caso de los ciclos límite y de overflow las investigaciones van encaminadas en la dirección de buscar algoritmos de detección y caracterización de ciclos límite centrados únicamente en asegurar la estabilidad global y asintótica del filtro, como los de Bauer y Leclerc [BAU91], Premaratne, Kulasekere, Bauer y Lecrerc [PRE96], A. Alvarez y D. Osés [ALV98], y los que proponen la obtención de cotas de amplitud que delimitan la zona del espacio donde pueden detectarse ciclos límite como los de P. P. Vaidynathan y V. Liu, B. D. [VAI87], Green y L . E. Turner [GRE88], Premaratne, Kulasekere, Bauer y Lecrerc [PRE96], E. N. Shafik e I. W. Sandberg [SHA95]. Así mismo pueden encontrarse otros artículos relacionados con la eliminación de ciclos límite en determinadas estructuras o con la obtención de nuevas estructuras libre de ciclos límite como los de L. E. Turner [TUR83], B. W. Bomar [BOM85], T. I. Laakso, M. Lang y T. Saramáki [LAA94], J. S. Fernando y M. D. Ercegavac [FER97], Guo Fan Xu y T. Bose [XU97]. En la bibliografía examinada se ha observado que durante los primeros años la investigación se ha dirigido hacia el estudio del ruido de cuantificación en las operaciones, sensibilidad de los parámetros, establecimiento de cotas de ciclos límite, detección de la existencia o no de ciclos límite en diferentes estructuras, delimitar la zona del espacio donde se producen y buscar estructuras libres de ellos, más tarde se proponen algoritmos de búsqueda exhaustiva y parcial y más recientemente se realiza un estudio de gran número de filtros estableciendo con ellos nuevas cotas. En el campo de los sistemas muestreados de control los pioneros fueron: Bertram [BER58] Slaugther [SLA64], Knowles y Edwuards [KNO65], Jonhson [JON65] y Curry [CUR67] estudiaron el ruido de redondeo en casos particulares de sistemas de control muestreados calculando y mejorando cotas.
Capítulo 1: Introducción 3 En la década de los 80 las investigaciones se centran en los problemas de implementación con longitud de palabra finita de reguladores óptimos. Sripad [SRI77] estudió con alguna profundidad el ruido de redondeo de las operaciones y la precisión finita de los coeficientes en las especificaciones de funcionamiento del Filtro de Kalman Discreto de un LQG (controlador lineal cuadrático gaussiano), P. Moroney [MOR83] estudio el ruido de redondeo y escalado en la implementación de un LQG, Miller [MIL88] estudia la estabilidad relacionada con la cuantificación, D. Williamson y K. Kadiman [KAD89] optimizaron un LQG bajo la condiciones longitud de palabra finita, Ketao Liu y Robert E. Skelton [LIU92] describen un algoritmo para su calculo y obtienen un LQG FW y Mario A. Rotea y Darrell Williamson [ROT95] sobre el mismo tema. Ian J. Fialho y Georgiou [FIA94), Giang Li [LI98], S. Chen, J. Wu, R. H. Istepanian, y Whidborne [CHE99] estudian la forma de obtener implementaciones con precisión finita óptimas desde el punto de vista de la estabilidad y robustez del sistema de control. Bamiet [BAM03] estudia los efectos FWL y el comportamiento del control digital con modelo entre muestras en la frecuencia de muestro. Jinxin Hao, Gang Li y Chunru Wan [HAO06] obtienen dos clases de estructuras de reguladores digitales óptimas y robustas desde el punto de vista FWL. En el contexto del control las investigaciones al principio corrían paralelas pero en los años 80 se separan puesto que el análisis de estos fenómenos en el campo del control es más complicado ya que dependen no solo del funcionamiento del propio regulador digital sino también del periodo de muestreo y del sistema a controlar (el sistema opera en lazo cerrado). En los últimos 10 años los trabajos han ido encaminados a encontrar estructuras óptimas de controladores que minimicen los efectos (FWL) y que aseguren la estabilidad y robustez del sistema. La solución del problema matemático todavía esta sin resolver. Por otra parte, no se ha encontrado ningún trabajo de investigación relacionado con el análisis y caracterización de los ciclos límite en reguladores implementados en una determinada estructura, de forma que pueda estudiarse el impacto que pudieran tener sobre un sistema a controlar. 1.2.- Objetivos de la investigación y metodología La investigación se va a desarrollar en el entorno del diseño de un sistema de control en tiempo discreto implementado en un microcontrolador o en un ordenador de proceso. Dentro de este entorno de trabajo, vamos a tener como objetivo general de investigación el análisis del impacto de los ciclos límite producidos por la aritmética de precisión finita cuando se implementa un regulador digital con un algoritmo de control en hardware o software. Una vez determinada la función de transferencia en z del regulador o sus ecuaciones en diferencias queda la tarea de desarrollar el algoritmo que lo implemente. Con el objeto de minimizar los efectos da la precisión finita se han desarrollado en estos últimos años varias alternativas de implementación. Se puede optar por implementar directamente la función de transferencia en z mediante una estructura determinada o dividir el regulador en módulos de primer o de segundo orden. Algunos autores proponen como Phillips y Tagle [PHI90] esta segunda alternativa.
4 Capítulo 1: Introducción 1 0 1 1 1 ( ) 1 m m R n n b b z b z G z a z a z − − − − + +⋅⋅⋅+ =+ +⋅⋅⋅+ 1 2 3 ( ) ( ) ( ) ( ) ( ) R p G z A z A z A z B z = ⋅ ⋅ ⋅ ⋅ 0 1 2 ( ) ( ) ( ) + ( ) R p G z B B z B z B z = + + + ( ) R G z Figura 1.1: Esquema de diseño e implementación En este trabajo se van a estudiar estructuras de implementación siguiendo ambos caminos, de forma que los pasos que se seguirán en su estudio son: • Especificaciones del sistema. • Determinación de la función de transferencia del regulador.
Capítulo 1: Introducción 5 • Factorización en alguna de las formas polinomiales (serie, cascada, celosía, módulos de segundo orden, etc.) si procede. • Transformación en ecuaciones en diferencias. • Selección de la longitud de palabra y cuantificación de los coeficientes. • Aplicación a cada módulo el procedimiento pole-zero pairing si es necesario. • Seleccionar la estructura del regulador (1D, 2D, 3D, 4D, 1X, 2X, etc.) para cada módulo. • Aplicar el procedimiento de escalado independientemente para cada módulo. • Fijar el orden del módulo apropiado si es pertinente. • Simular/emular el funcionamiento del regulador en lazo abierto y determinar el rango dinámico de las variable internas de cada módulo ante una estrada escalón. • Emulación/simulación de la implementación del sistema de control muestreado en lazo cerrado para comprobar el cumplimiento de las especificaciones de diseño requeridas. Esta forma de trabajo viene representada en la fig. 1.1. La investigación propuesta en esta tesis doctoral se va a realizar sobre el diseño e implementación con control digital de posición de un servomotor. Aunque el sistema es de bajo orden se pueden presentar problemas de diseño e implementación. Se pueden utilizar varios tipos reguladores digitales: reguladores PID, un regulador digital por el método de Truxal, realimentación del vector de estado y realimentación del vector de estado con filtro de Kalman, etc. Posteriormente se estudiarán las diferentes implementaciones en un microprocesador. Una vez fijado el periodo de muestreo y diseñado el regulador elegido se procederá al estudio de diferentes estructuras de implementación analizando su comportamiento en el funcionamiento en lazo cerrado frente a la presencia de ciclos límite en la variable controlada. Dentro del esquema general de diseño e implementación en esta tesis nos vamos a centrar en el estudio de las diferentes estructuras de implementación más utilizadas en la práctica, investigando sobre la presencia o ausencia los ciclos límite, valorando su número y amplitud y con ello poder decidir sobre cual es la estructura más adecuada par la aplicación propuesta. Por lo tanto las fases de investigación son las siguientes: • Creación de software de simulación/ emulación de sistemas de control. • Creación de algoritmos de búsqueda exhaustiva de ciclos límite determinando su número y amplitud con diferentes estructuras y su impacto en la salida ante entrada nula o constante. • Analizar y comparar el efecto de los ciclos límite en función de la estructura y cuantificación sobre el comportamiento del sistema de control.
6 Capítulo 1: Introducción • Análisis de resultados y determinación de la estructura óptima de implementación. • Conclusiones generales. 1.3.- Estructura de la memoria La presente memoria consta de seis capítulos. El capitulo actual sirve de introducción y en el se reflejan de forma breve el contexto y los principales objetivos de investigación. En el capítulo dos se presentan los conceptos fundamentales sobre los que se basa la investigación, se analiza con profundidad el estado actual del conocimiento que se tiene sobre el tema tratado, se realiza una revisión de las técnicas de diseño clásicas y modernas de sistemas de control digital (normalmente sistemas muestreados) que nos conducen a la determinación del regulador, se analizan las estructuras de implementación de reguladores digitales más utilizadas y los métodos de escalado en sistemas realimentados. En el capítulo tres se analizan los efectos de la precisión finita en el contexto del filtrado digital y en sistemas de control digital, la relación entre cuantificación de los coeficientes y estabilidad, el ruido de cuantificación y la problemática de los ciclos límite. En el capítulo cuatro se presenta un método general de representación de sistemas discretos, el entorno simulación por ordenador de sistemas discretos y el algoritmo de búsqueda de ciclos límite ante entrada nula. En el capítulo cinco se presentan y analizan los resultados. En el último capitulo se presentan las conclusiones, las aportaciones originales de esta tesis y futuras líneas de investigación.
Capítulo 2: Revisión histórica y contexto 7 CAPÍTULO 2 Revisión histórica y contexto 2.1.- Introducción Antes de abordar el trabajo de investigación que ha conducido a la presentación de esta tesis doctoral se ha realizando un exhaustivo estudio del estado actual de los conocimientos relacionados con la teoría de sistemas discretos de control y más en concreto los relacionados con los efectos que produce la aritmética de precisión finita en la implementación del regulador. Para ello se han consultado un número importante de libros, artículos y revistas internacionales especializadas en el tema cuyo contenido y conclusiones relacionados con el objeto de nuestra investigación comentaremos. Este capítulo se va a dividir en varios apartados. En el primero se expone una breve evolución de la tecnología y teoría de control de sistemas de control digitales. En el segundo se presentan, ordenadas por efectos y en el tiempo, las aportaciones más importantes relacionadas con los efectos FWL en la realización e implementación de filtros digitales y reguladores, prestando especial atención a las relacionadas con el estudio de los ciclos límite objeto de esta investigación. En tercer lugar se realiza una somera descripción de las técnicas de diseño de un sistema de control digital. En cuarto lugar se analizarán las estructuras de implementación de reguladores y por último se estudiarán los procedimientos de escalado de reguladores digitales. 2.2.- Evolución de la tecnología y de la teoría de sistemas discretos de control En la primera mitad de la década de los 50 del pasado siglo se empezaron a aplicar computadores digitales en el control de misiles y en la aviación; los de propósito general eran tan grandes, tan caros y tan poco fiables que se desarrollaron unidades especiales llamadas analizadores digitales diferenciales (DDA) para estas aplicaciones. A mediados de ésta década se empezaron a utilizar en el control de procesos industriales (DDC) principalmente en las refinerías de petróleo (Texaco). En estos sistemas el computador ejercía dos funciones: supervisón y control, reemplazando a los reguladores analógicos. Estos sistemas presentaban sus ventajas: flexibilidad, programación, comunicación, sencillez. Fue tal su expansión que empezaron a sustituir a los sistemas de control analógicos aunque fuesen incluso más caros. Aparecieron nuevos problemas en el diseño, tales como la elección del periodo de muestreo, confección de algoritmos de control, etc.
14 Capítulo 2: Revisión histórica y contexto límite son ocultos. Se muestra que en filtros paso bajo de banda estrecha los ciclos límite son de pequeña amplitud comparándolos con los obtenidos en las estructuras en la forma directa tradicional. “A Method of Eliminating Oscillations in High-Speed Recursive Digital Filtres” John S. Fernando and Milos D. Ercegavac (1997) Proponen un método de escalado dinámico (DS) para la eliminación de oscilaciones de ciclo límite y de overflow en filtros recursivos en forma directa con aritmética en punto fijo. El método se realiza añadiendo una unidad de escalado dinámico a un módulo “on-line” en como fija. Este método introduce un exponente compartido en el cálculo en coma fija, proporcionando características de coma flotante a los cálculos internos. “Elimination of Limit Cycles dueto Two´s Complement Quantization in Normal Form Digital Filters”. Guo Fang Xu and Tamal Bose (1997) Los filtros digitales en forma normal son atractivos debido a sus buenas prestaciones cuando se utilizan para implementaciones con longitud de palabra finita. Estos filtros no presentan ciclos límite ni oscilaciones de overflow cuando se utiliza truncado en magnitud y signo. Sin embargo, cuando se utiliza truncado en complemento a dos, pueden aparecer ciclos límite. En este artículo los autores demuestran que cuando se utilizan estructuras de bloque, los filtros digitales en forma normal se pueden implementar libres de ciclos límite debidos a la utilización del truncado en complemento a dos, demostrando que se puede obtener con un tamaño de bloque reducido. Además, presentan un algoritmo para encontrar el mínimo tamaño de bloque requerido para un filtro dado. “Designo f State Digital Filtres” B. Psenicka, F. García-Ugalde, J. Savage, S. Herrera-García and V. Davidek (1998) Presentan un algoritmo sencillo para el diseño de filtros digitales de segundo orden en el espacio de estados. El algoritmo de diseño proporciona realizaciones de filtros digitales en el espacio de estados con mínimo ruido de redondeo a la salida, baja sensibilidad a los coeficientes y libres de ciclos límite. “Quantization Error Digital Control Systems”. Slaughter (1964) El autor desarrolla un estudio analítico para encontrar una cota superior del error de redondeo cometido por la cuantificación de un sistema de control digital. Concluye que la cuantía del error introducido en la salida, depende del periodo de muestreo y de las constantes de tiempo del sistema, y del regulador empleado. “The Anaysis of RoundOff and Truncation Error in a Hybrid Control System”. Curry, E. E (1967) Analiza el error de redondeo y truncamiento en sistemas híbridos (reguladores digitales implementados en microprocesador, conectados a una planta analógica). Trabajando con
Capítulo 2: Revisión histórica y contexto 15 métodos estadísticos encuentra una cota que mejora la obtenida por Slaughter y generaliza el estudio de forma que se pueda a aplicar a cualquier sistema híbrido. “Quantization Error and Design of digital Control Systems” A. J. Koivo (1969) Introduce el problema del error de cuantificación en los sistemas de control óptimo en tiempo discreto. Acotando el error basándose en realizar el estudio en el “peor caso posible” “QuantizerInduced Digital Controller Limit Cycles” Stantey A. White (1969) Se analiza la aparición de ciclo límite en estructuras de filtrado digital de segundo orden, cuando se utiliza aritmética de precisión finita, y se presenta un método para obtener la frecuencia y amplitud de la oscilación. “The Digital Implementation of Control Compensators: The Coefficient Wordlength Issue” P. Moroney, A. S. Willsky and P. K. Houpt (1980) Por primera vez se expone el problema de la implementación del sistema discreto, variando el comportamiento en función de la estructura con la que se implemente. En concreto trabaja con un regulador LQG comprobando como se aparta del comportamiento óptimo por el hecho de implementarlo con aritmética de precisión finita. Finite Wordlength Desing of Digital Kalman Filters for State Estimation” Darrel Williamson (1985) El autor aborda el diseño óptimo de un filtro de Kalman, teniendo en cuenta la problemática de utilizar aritmética de precisión finita. Las conclusiones son especialmente relevantes en el diseño de filtros de Kalman para sistemas de tiempo continuo que necesitan un periodo de muestreo alto, demostrándose el compromiso existente entre un periodo de muestreo alto y una longitud de palabra pequeña. “Quantization and Overflow Effects in Digital Implementations of Linear Dynamic Controllers R. K. Miller, M. S. Mousa and A. N. Michel (1988) Estudia la estabilidad de los sistemas de control realimentados en los que una planta continua, es actuada mediante convertidores analógico-digitales y digitales-analógicos por un regulador discreto implementado en un ordenador (sistema híbrido). Analiza mediante simulaciones que la estabilidad del sistema está ligada a los efectos de la cuantificación. “Quantizer Effects on Steady State Error Specifications of Digital Feedback Control Systems R. K. Miller, A. N. Michel and J .A. Farrel (1989)
16 Capítulo 2: Revisión histórica y contexto En este caso el autor analiza las diferencias existentes en el error en régimen permanente entre un sistema discretizado y su implementación real teniendo en cuenta las nolinealidades introducidas por la cuantificación a la hora de hacer su implementación con aritmética de precisión finita. “Optimal Finite Wordlength linear Quadratic Regulation” D. Williamson and K. Kadiman (1989) El autor muestra la pérdida de prestaciones de un sistema debido a la cuantificación de coeficientes, error de truncado y redondeo, diseñado bajo la premisa de que la implementación no supone ningún error aritmético. Muestra un método de diseño para obtener un regulador LQG teniendo en cuenta esos errores aritméticos cometidos en la implementación. Stabilizing a Linear System with Quantized State Feedback David F, Delchamps (1990) Este artículo estudia el problema de estabilizar un sistema lineal e invariante en el tiempo con realimentación de los estados de los estados que previamente se han cuantificado. Encuentra que no es razonable esta estrategia de control en el sentido clásico y el comportamiento del sistema en lazo cerrado se vuelve caótico. El comportamiento asintótico pseudoaleatorio del lazo cerrado difiere sustancialmente del predicho por el análisis convencional de la relación señal-ruido de los efectos de cuantificación. “Optimal Controllers for Finite Wordlength Implementation” Ketao Liu, Robert E. Skelton, and Karolos Grigoriadis (1992) Estudia el problema de diseño de un regulador óptimo en presencia de ruido externo y ruido de redondeo en conversores A/D y D/A y en las operaciones de computación. Es una extensión de la teoría de diseño de un LQG bajo precisión infinita. En precisión finita no se cumple el teorema de separación. A la función de coste se le añade un sumando para penalizar la longitud de palabra finita usada para computar cada variable de estado del controlador. Esa suma mínima puede ser utilizada para representar el límite bajo en la memoria del computador, necesaria en la síntesis de regulador. El diseño del nuevo LQG FW requiere una gran carga computacional “On Stability and Performance of Sapled_Data Systems Subject to Wordlength Constaint” Ian J. Fialho and Tryphon T. Gerorgiou (1994) Estudian los efectos de la precisión finita en la implementación de reguladores en la estabilidad y especificaciones del funcionamiento de un sistema de control muestreado. En este contexto se presenta que efectos pueden ser analizados desde el punto de vista estadístico. Conduce a un problema de optimización cuya solución exacta no se conoce y necesita un eficiente método de computación. Determinan el controlador óptimo con medidas del radio de estabilidad complejo que puede tratarse como un caso especial de minimización según norma H ∞ .
Capítulo 2: Revisión histórica y contexto 17 “Optimal Realizations of Finite Worlength Digital Filters and Controllers” Mario A, Rotea and Darrell Williamson (1995) Estudia la forma de resolver el problema de síntesis FWL en presencia de escalado y error de redondeo. La solución requiere resolver un difícil problema de programación no lineal que puede tener soluciones locales y no tener solución global. Para el estudio se introducen cuatro problemas auxiliares y escalan con norma L 2 . Con estas condiciones encuentran una solución analítica. “On the Structure of Digital Controller whith Finite Word Length Consideration” Gang Li (1998) Es difícil encontrar medidas que definan la robusted en la estabilidad del sistema y poder resolver el problema propuesto por Fialho. El autor encuentra una nueva medida que resuelve el problema y por lo tanto posibilita manipular la estructura del controlador fácilmente. El problema de la estructura óptima del controlador se formula haciendo máximas estas medidas. Presenta la solución analítica y un algoritmo para encontrar las estructuras dispersas. “Optimizing Stability Bounds of FinitePrecisión PID Controller Structures” S. Chen, J. Wu R.H. Istepanian and J. Chu (1999) Aborda la realización óptima de un regulador digital PID con consideraciones FWL. Es un problema de optimización no lineal complejo que los autores abordan con una estrategia eficiente basada en adaptative simulated annealing (ASA). También presentan un ejemplo numérico. “An Improved Closed-Loop Stability Related Measure for Finite-Precision Digital Conroller Realization” J. Wu, S. Chen, J. Wu R.H. Istepanian and J. Chu (2001) La contribución de este trabajo es doble: primero la estructura del regulador que se considera incluye la realimentación de la salida y un observador, y segundo, se adopta la aproximación de la sensibilidad de los polos. Se propone una nueva estabilidad relacionada con la medida que es función de la realización del regulador y se desarrollan procedimientos de optimización para encontrar la estructura óptima que maximiza esta nueva medida. Se muestra que esta medida es menos conservativa para estimar la robustez de regulador FWL que la realización por medidas de la sensibilidad de los polos. “A Unified Closed-Loop Stability Measure for Finite-Precision Digital Controller Realizations Implemented in Different Prepresentation Schemes” Wu J., Chen S., Whidborne J.F. and Chu J (2001) La principal contribución de este trabajo deriva en obtener un regulador FWL con medida de la estabilidad que puede ajustar a la vez el rango dinámico y los requerimientos de precisión y es aplicable a los tres esquemas: fixedpoint, floatpoint y block-float-point. “Intersample and Finite Wordleng Effects in Sampled-Data Problems”
18 Capítulo 2: Revisión histórica y contexto Bassam Bamiet (2003) Investiga la dependencia de los efectos de la cuantificación y el modelo de comportamiento entre muestras en la frecuencia de muestreo. Cuando se estabiliza una sistema con un regulador implementado con longitud de palabra finita observa un empeoramiento del comportamiento del sistema con un aumento de la frecuencia de muestreo. Two Classes of Effcient Digital Controller Structures Whith Stability Consideration Jinxin Hao, Gang Li and Chunru Wan (2006) Definen una nueva medida de la estabilidad en base a la sensibilidad del módulo de los polos, encuentran dos clases de estructuras eficientes utilizando el concepto de operador polinomial (3). Estas estructuras se predeterminan en forma de matrices dispersas que contienen 2 K parámetros libres. Obtienen un regulador optimo bajo las condiciones FWL de una forma más simple que en trabajos anteriores. 2.4.- Revisión de las técnicas de diseño de sistemas de control en tiempo discreto Un sistema físico que requiera ser controlado en lazo cerrado (opera con realimentación) necesita que la variable o variables a controlar sean medidas y que estas sean comparadas con la variable de consigna, obteniendo la señal de error, que convenientemente tratada actuará sobre la entrada del sistema físico a controlar. El diseño de un sistema de control realimentado suele ser un proceso más o menos laborioso que depende de la complejidad del sistema a controlar y de la experiencia del diseñador. Los datos de partida son el cumplimiento de unas especificaciones de funcionamiento que suelen ser: La sensibilidad a las perturbaciones. Los errores en régimen permanente. La respuesta transitoria. La sensibilidad al cambio de los parámetros del sistema. La solución del problema pasa por la elección de los sensores de medida, de la definición de los modelos matemáticos del sistema, de la elección de los actuadores, del diseño analítico del regulador y simulación, de la implementación y comprobación del funcionamiento del sistema. Este proceso suele ser iterativo ya que no se conoce con exactitud el modelado matemático del sistema. En este apartado se pretende, conocido el modelo del sistema a controlar, dar de forma esquemática una visión simple y completa de las alternativas y de las dos formas de abordar el diseño de un sistema de control en tiempo discreto. Si el sistema a controlar es sencillo y no se exigen especificaciones “fuertes” lo más cómodo y rápido es abordar el diseño mediante las técnicas clásicas para sistemas muestreados; por el contrario si el sistema es complejo y se buscan objetivos de control óptimo, adaptativo, etc., lo mejor es abordar el diseño mediante la teoría moderna de control en variables de estado.
Capítulo 2: Revisión histórica y contexto 19 2.4.1.- Diseño clásico Este método se basa en la relación entrada-salida del sistema a controlar (descripción externa). Para el diseño de reguladores discretos existen dos métodos: diseño continuo y discretización y diseño discreto directo. 2.4.1.1.- Diseño continuo El problema de diseño puede resumirse de la siguiente forma: dado un sistema de control como el de la figura 2.2, encontrar el regulador G R (s) que cumpla las especificaciones deseadas y una vez obtenido este obtener su equivalente discreto G R (z). G + (s) (s) G -R R(s) (s) CE(s) W(s) Figura 2.2: Diagrama de bloques de un si sistema de control continuo Hay dos técnicas muy conocidas de diseño en el plano s que son utilizadas en sistemas SISO sencillos: Método del lugar de las raíces Métodos frecuenciales En ambos casos los reguladores obtenidos son del tipo: redes de adelanto, de atraso, de adelanto-atraso, PID, etc. Obtenido el regulador por cualquiera de las dos técnicas el siguiente paso es la discretización del regulador. ( ) R G z Figura 2.3: Diagrama de bloque de un sistema de control muestreado El regulador continuo se discretiza de forma que el efecto del conjunto convertidor A/D -regulador digital - convertidor D/A de la figura sea aproximadamente el mismo que el efecto del regulador analógico. Este problema se suele resolver empleando técnicas de integración
20 Capítulo 2: Revisión histórica y contexto numérica o técnicas de aproximación en la evolución temporal que como se sabe no tienen una solución exacta. En lo que sigue se exponen los principales métodos por integración numérica para obtener G R (z). El grado de aproximación depende del periodo de muestreo y de la técnica utilizada. 1) Método de las diferencias en atraso 1 1 ( ) ( ) R R z s T G z G s − − = = (2.1) 2) Método de las diferencias en adelanto 1 1 1 ( ) ( ) R R z s Tz G z G s − − − = = (2.2) 3) Método de la transformación bilineal o de Tustin 1 1 2 1 1 ( ) ( ) R R z sT z G z G s − − − =+ = (2.3) 4) Método de igualación cero-polo (MPZ) En este caso se aplica la relación z = e sT a los polos y ceros de la función de transferencia, añadiendo el número de ceros en el infinito necesarios a la función de transferencia continua hasta igualar al número de polos y, mas tarde, se ajusta la ganancia del regulador discreto obtenido para que sea igual a la del continuo. La aplicación de alguno de los métodos da como resultado un regulador inestable aunque se parte de un regulador continuo estable. En cualquier caso el método más utilizado es el de la transformación bilineal por que con el se obtiene la mejor aproximación. En cuanto a las técnicas de evolución temporal se van a mencionar dos transformaciones. La primera consiste en hacer que la secuencia de ponderación del regulador discreto equivalente se corresponda con las muestras de la respuesta impulsional del continuo. [ ] 1 ( ) 1 ( ) ( ) Re ( )1 RpT polos R p G z G s s R p e z − = Ζ = − ∑ (2.4) Este algoritmo de discretización no es aplicable a reguladores en los que los polinomios del numerador y denominador tienen el mismo grado, cosa frecuente, en estos casos se utiliza la aproximación ante una entrada escalón: 1 1 1 ( ) ( ) (1 ) R R G z G s z s − = Ζ − (2.5)
Capítulo 2: Revisión histórica y contexto 21 por tanto: 1 ( ) ( ) (1 ) R R G s G z z s − = − Ζ (2.6) 2.4.1.2.- Diseño discreto El primer paso para efectuar el diseño por este procedimiento consiste en discretizar la planta o sistema a controlar. Para ello se trata de hallar la función de transferencia en z del circuito de retención (generalmente un ZOH) seguido del sistema y del muestreador según la siguiente expresión. 1 ( ) ( ) (1 ) G s G z z s − = − Ζ (2.7) Así se obtiene el diagrama de bloques equivalente al de la figura 2.4: ( ) R G z Figura 2.4: Diagrama de bloque de un sistema de control discreto A partir de este diagrama se puede aplicar el método del lugar de las raíces en el plano z para el diseño del regulador de forma idéntica al de sistemas continuos y tan solo requiere saber expresar las especificaciones temporales en el plano z. También se puede aplicar los procedimientos frecuenciales teniendo en cuenta que la respuesta en frecuencia de un sistema muestreado no es una función racional pero puede considerarse como una suma de componentes infinita de las cuales solo un número muy reducido tienen significación. Para poder aplicar las técnicas de Bode o Nyquist en tiempo continuo en el diseño discreto es necesario realizar una transformación, pasando del plano z al plano w obteniendo G(w): 1 1 ( ) ( ) w z w G w G z + = − = (2.8) Con esta función se diseña el regulador G R (w) para que se cumplan las especificaciones según el procedimiento empleado para los sistemas continuos. A continuación se obtiene la G R (z) deshaciendo la transformación de la forma: 1 1 ( ) ( ) R R z w z G z G w − = + = (2.9)
22 Capítulo 2: Revisión histórica y contexto 2.4.1.3.- Síntesis directa De la misma forma conociendo la descripción externa del sistema se pueden aplicar métodos de síntesis directa de Truxal en el plano continuo y discretizar el regulador o hacerlo directamente en el plano z para determinar G R (z). A partir de un modelo deseado M(z) de funcionamiento en lazo cerrado que cumpla las especificaciones fijadas se puede buscar un G R (z) que posea condiciones de realizabilidad, estabilidad y simplicidad. ( ) ( )( ) ( ) ( ) 1 ( ) ( ) R R G z G zC z M z R z G z G z = = + (2.10) ( ) ( ) ( ) ( ) 1 ( ) R M z G z G z M z =− (2.11) Este procedimiento puede ser muy interesante en control digital, ya que la implementación del regulador no presenta problemas a pesar de la relativa complejidad del regulador a la que suele conducir el método de diseño. Otra alternativa es seleccionar el modelo para que se satisfagan las condiciones del regulador en tiempo finito y mínimo. 2.4.2.- Diseño en el espacio de estados Los métodos convencionales de diseño vistos en el apartado anterior no se aplican a sistemas no lineales salvo en casos muy sencillos, ni tampoco a sistemas de control óptimo y adaptativo. Si los sistemas a controlar son de múltiples entradas y salidas (sistemas MIMO) es conveniente representarlos en variables de estado (descripción interna) y el diseño se realiza por los métodos modernos de diseño de sistemas de control. La figura 2.5 representa un diagrama bloques del sistema de control digital SISO con la representación en variables de estado. Figura 2.5: Diagrama de bloque de un sistema de control en variables de estado
Capítulo 2: Revisión histórica y contexto 23 2.4.2.1.- Descripción interna de sistemas lineales continuos muestreados El diseño de sistemas de control digital utilizando la descripción interna obliga también a representar mediante esta descripción los sistemas muestreados, es decir, es necesario encontrar el equivalente en tiempo discreto al sistema en tiempo continuo. La descripción en variables de estado de un sistema continuo lineal de entrada y salida única es: ( ) ( ) ( ) ( ) 'c c c c x (t) A x(t) B C x u t y t t D u t = + = + (2.12) x (t) son los estados, u(t) la entrada y v(t) la salida. La función de transferencia del sistema continuo se calcula mediante la expresión: [ ] 1 ( ) c c G s s D − = − + c c C I A B (2.13) Las matrices del equivalente discreto en el espacio de estados con un periodo de muestreo T son: 2 2 /2! A c A I A A + c T c T T e = + + ⋅⋅⋅ = (2.14) 2 3 0 ( /2! /3! ) A 2 c B IT A + A B B c Tt c c c T T e dt = + +⋅⋅⋅ = ∫ (2.15) C= C c D = D La descripción en variables de estado del sistema discreto equivalente es: ( 1) ( ) ( ) ( ) ( ) ( ) x A x B C x k k u k y k k D u k + = + = + (2.16) A partir de este modelo se puede obtener la función de transferencia del equivalente discreto. [ ] 1 ( ) C I A B G z z D − = − + (2.17) En sistemas físicos lineales e invariantes D = 0. Para realizar todos estos cálculos se va a utilizar el programa MATLAB.
30 Capítulo 2: Revisión histórica y contexto De forma semejante al método de ubicación de polos por realimentación de los estados, es necesario medir todas las variables de estado para definir e implementar la ley de control: ( ) K x u k = − (2.40) El esquema de implementación se presenta en la figura 2.10. 2.4.2.4.- Control lineal óptimo cuadrático gaussiano (LQG) En muchos casos aparecen ruidos de carácter aleatorio en el propio sistema a controlar y en las medidas. La consideración de estos ruidos en un sistema se efectúa mediante el uso de la teoría de procesos estocásticos. El filtro de Kalman resuelve el problema de estimación optima de los valores de las variables de estado de un sistema conocido en presencia de ruidos en las propias variables y en las medidas, pudiéndose decir que es un observador de estados que tiene en cuenta las componentes aleatorias del sistema. También en este caso se pueden distinguir dos tipos de filtros de Kalman: Filtro de Kalman predictor y Filtro de Kalman actual. Estimados los valores de las variables de estado podemos hacer uso de la realimentación óptima de las variables de estado para diseñar lo que se conoce con el nombre de regulador lineal óptimo cuadrático. Su diseño se realiza en dos etapas: primero se determina la matriz de ganancia del filtro de Kalman y después, en virtud del principio de separación, la matriz de ganancia de realimentación óptima. En el sistema lineal en tiempo continuo 1 ( ) ( ) ( ) ( ) ( ) ( ) 'c c c c c x (t) A x(t) B B w C x u t t y t t D u t t υ = + + = + + (2.41) Los ruidos en el proceso w(t) y en la medida v(t) son blancos y satisfacen: ( ) ( ) 0 ( ) ( ) ( ) 0 Q R T T T c c E w E E ww E E υ υυ ωυ = = = = = (2.42) Las Q c y R c son las matrices de covarianza de los ruidos en el sistema y de la medida. Se calcula el equivalente discreto del sistema y el equivalente discreto de las matrices de covarianza mediante las siguientes expresiones: 1 1 0 T A A Q B Q B TT c e e d τ τ τ = ∫ (2.43) / R R c T = (2.44) Hay que minimizar la función de coste: ( ) P J tr k = (2.45)
Capítulo 2: Revisión histórica y contexto 31 P es la matriz de covarianza del vector e(k) = x(k) - q(k) ( ) lim ( ) ( ) P P e e T k k E k k →∞ = = (2.46) M es la matriz de covarianza de errores de predicción { } ( ) lim ( ) ( ) ( ) ( ) M M x q x q T k k E k k k k →∞ = = − − (2.47) Las ecuaciones del filtro con estimación actual en régimen estacionario son: ( ) ( ) ( ) ( ) ( 1) ( ) ( ) q q L q q Aq B k k y k C k k k u k = + − + = + (2.48) En estas ecuaciones ( ) q k es el estado predicho en el instante k y q(k) es el estado actual estimado en k. El cálculo de L se realiza mediante: 1 L MC CMC R T T − = + (2.49) donde: P M - A C M = (2.50) 1 M APA B RB T = + (2.51) Estas dos últimas expresiones conducen a resolver una ecuación algebraica de Riccati: 1 ( ) M Q AMA AMC R CMC CMA T T T T − = + − + (2.52) La ecuación del filtro resulta: [ ] [ ] ( ) - ( 1) ( 1) ( ) q A LCA B LCB G k q k u k y k = − + − − + (2.53)
32 Capítulo 2: Revisión histórica y contexto 1 I z − ( -1 I - A) z Figura 2.11: Diagrama de bloque de un LQG actual La función de transferencia del estimador junto con el control es semejante a la del observador actual junto con la realimentación de los estados. 1 ( ) ( ) ( ) ( ) K I A LCA BK-LCBK L R U z G z z z Y z − = − = − + + (2.54) La implementación del sistema de control con realimentación de los estados estimados con un filtro de Kalman puede resultar a veces un sistema no robusto. En todo caso, una vez hecho el diseño, hay que verificar los márgenes de estabilidad asegurándonos una adecuada estabilidad relativa. Las ecuaciones del filtro con estimación predictiva en régimen estacionario son: [ ] ( 1) ( ) ( ) ( ) ( ) q A q B L q k k u k y k C k + = + + − (2.55) L es la ganancia del filtro que se calcula con las siguientes ecuaciones: 1 L APC CPC R T T − = + (2.56) P se calcula resolviendo la ecuación de Riccati: 1 ( ) P Q APA APC R CPC CPA T T T T − = + − + (2.57) La función de transferencia a implementar es semejante a la del observador-predictor:
Capítulo 2: Revisión histórica y contexto 33 1 ( ) ( ) ( ) ( ) K I A BK BC L R U z G z z Y z − = − = − + + (2.58) La figura 2.12 representa un diagrama de bloques de un sistema de control con realimentación de los estado utilizando un filtro de Kalman predictor. 1 I z − 1 I z − ( ) q k Figura 2.12: Diagrama de bloque de un sistema de control LQG predictor 2.5.- Estructuras de reguladores digitales La etapa del diseño de un sistema de control en tiempo discreto nos conduce a la función de transferencia en el dominio z que representa las operaciones de filtrado y control. En general, esta función viene representada por: 1 0 1 0 1 1 0 ( ) 11 m i mi m i Rn n i ni i b z b b z b z G z a z a z a z − − − = − − − = + +⋅⋅⋅+ = = + +⋅⋅⋅+ + ∑ ∑ (2.59) Los coeficientes ai y bi son números reales con m ≤ n. Algunos coeficientes pueden ser cero. La ecuación describe el caso general. Del mismo modo, el comportamiento del regulador o filtro vendrá definido en el dominio temporal por la siguiente ecuación en diferencias:
34 Capítulo 2: Revisión histórica y contexto 0 1 ( ) x( ) y( ) m n i i i i y k b k i a k i = = = − − − ∑ ∑ (2.60) El propósito de este apartado es describir los diagramas de bloques, diagramas de flujo construidos con elementos de retardo, sumadores y multiplicadores, más utilizados en la implementación de estas ecuaciones en software o hardware digital. A cada diagrama diferente se le llama estructura de realización del filtro o regulador. Existen incontables estructuras que describen a un regulador determinado, de modo que cada estructura define una forma de organizar las ecuaciones en diferencias. Tres factores fundamentales influyen en la elección de una realización específica en software o hardware, tales son: la complejidad computacional, los requisitos de memoria y los efectos debidos a la utilización de longitud de palabra finita. Si se realiza en hardware: numero de sumadores, retardos, amplificadores, etc. La complejidad computacional se refiere al número de operaciones aritméticas (multiplicaciones y sumas) así como al número de accesos a memoria o al número de veces que se realiza una comparación entre dos números para cada muestra de salida. Requisitos de memoria: se refiere al número de posiciones de memoria necesarias para almacenar los parámetros del sistema, entradas anteriores, salidas anteriores y cualquier valor intermedio calculado. Los efectos de longitud de palabra finita se refieren a la necesidad de llevar a cabo un proceso de cuantificación, por redondeo o truncado, tanto de coeficientes como de los resultados de las operaciones en cualquier implementación digital del filtro, ya sea en hardware o software. Debido a estos efectos, estructuras diferentes de un filtro, equivalentes cuando se utiliza aritmética de precisión infinita, muestran comportamientos diferentes cuando se utiliza aritmética de precisión finita. Por tanto, es muy importante en la práctica seleccionar una realización que no sea muy sensible a los efectos de longitud de palabra finita. Entre estos efectos se encuentra la aparición de oscilaciones de ciclo límite en reguladores digitales IIR, objeto de estudio de estudio de esta tesis, por lo que será necesario para el desarrollo de la misma seleccionar un conjunto de estructuras diferentes con el fin de estudiar su comportamiento frente a los ciclos límite. En este apartado se presentan los diagramas de flujo y ecuaciones en diferencias que definen diferentes estructuras, algunas de las cuales se han seleccionado de diversos artículos publicados, con el fin de estudiar su comportamiento frente a las oscilaciones de ciclo límite cuando se utiliza aritmética de precisión finita en punto fijo. Con el objeto de llevar a cabo este estudio, se diseñarán diferentes reguladores digitales para un sistema a controlar, los cuales serán simulados en las estructuras propuestas utilizando aritmética de precisión finita en punto fijo. 2.5.1.- Estructuras directas Son aquellas estructuras en las que los coeficientes reales del regulador ai y bi aparecen en el diagrama de bloques o de flujos de implementación como multiplicadores. Se pueden obtener directamente de la función de transferencia del regulador.
Capítulo 2: Revisión histórica y contexto 35 2.5.1.1.- Estructura directa 1D Suponemos el regulador representado por: ( ) ( ) 0 0 1 0 ( ) 1 m n i i i i i i Rn n i i i i i i b z b z Y z G z X z a z a z − − = = − − = = = = = + ∑ ∑ ∑ ∑ (2.61) con n = m y b0 = 1 e introduciendo una variable intermedia P(z) resulta: 0 0 ( ) ( ) ( ) ( ) n i i in i i i b z Y z P z P z X z a z − = − = = ∑ ∑ (2.62) 0 ( ) ( ) n i i i Y z b z P z − = = ∑ (2.63) 0 ( ) ( ) n i i i X z a z P z − = = ∑ (2.64) 0 ( ) ( ) ni i i X z a z P z − = = ∑ (2.65) 1 ( ) ( ) ( ) ni i i M z X z a z P z − = = − ∑ (2.66) 0 ( ) ( ) ni i i Y z b z P z − = = ∑ (2.67) En el dominio del tiempo se tienen las siguientes ecuaciones en diferencias: 1 ( ) ( ) ( ) ni i i m k x k a z p k i − = = − − ∑ (2.68) 1 ( ) ( ) n i i y k a m k i = = − ∑ (2.69) Estas ecuaciones vienen reflejadas en la figura 2.13. La representación obtenida es una forma canónica ya que tiene el menor número de retardos posible que es n. Si el coeficiente b0 es 0 entonces se llama de control de fase variable o primera forma de Kalman controlable.
36 Capítulo 2: Revisión histórica y contexto (k-1) 1 q q 2 (k) (k) n q b 0 1 b b 2 n-1 b b n -a 1 2 -a -a n-1 n -a -1 z z -1 -1 z x(k) y(k) p(k-n) z -1 -1 z z -1 n b b n-1 2 b b 1 0 b -a n n-1 -a -a 2 1 -a x(k) y(k) (a) (b) Figura 2.13: Diagramas de flujo de las estructuras 1D y 2D La estructura es muy fácil de obtener pero es muy sensible a la cuantificación de los coeficientes y a las operaciones internas realizadas. 2.5.1.2.- Estructura directa 2D Se puede realizar un transformación en la estructura anterior sin cambiar la relación entrada salida utilizando el teorema de inversión de grafos que establece que si se invierten los sentidos de todas las transmitancias de las ramas y se intercambia la salida por la entrada le función de transferencia permanece invariable. A la estructura resultante se la llama transpuesta. En la figura 1b se representa el diagrama de flujos y se observa que requiere n+1 ecuaciones en diferencias mientras que la anterior solo dos: 1 ( ) ( ) ( ) ( ) i =1, ..., n - 1 i i i i q k q k b x k b y k + = + − (2.70) ( ) ( ) ( ) n n n q k b x k a y k = − (2.71) 0 1 ( ) ( ) ( 1) y k b x k q k = + − (2.72) Esta estructura también es canónica y cuando b0 = 0 se llama segunda forma de Kalman observable. También es muy sensible a los efectos de la cuantificación. 2.5.1.3.- Estructura directa 3D Retornando a las ecuaciones 2.61:
Capítulo 2: Revisión histórica y contexto 37 ( ) ( ) 0 0 n i i in i i i b z Y z X z a z − = − = = ∑ ∑ (2.73) ( ) ( ) 0 0 n n i i i i i i Y z a z X z b z − − = = = ∑ ∑ (2.74) ( ) ( ) ( ) 0 1 n n i i i i i i Y z b z X z a z Y z − − = = = − ∑ ∑ (2.75) En el dominio del tiempo: ( ) 0 1 ( ) ( ) n n i i i i y k b x k i a y k i = = = − − − ∑ ∑ (2.76) Con esta ecuación se obtiene el diagrama de flujo de la figura 2.14 a 0 p (k) q (k) n 1 q (k)p (k) 1 n p (k) n b b n-1 2 b b 1 0 b -a 1 2 -a -a n-1 n -a -1 z z -1 -1 z -1 z z -1 -1 z z -1 -1 z z -1 z -1 -1 z z -1 (b) (a) y(k)x(k) y(k)x(k) -a n n-1 -a -a 2 1 -a n b b n-1 2 b b 1 0 b Figura 2.14: Diagramas de flujo de las estructuras 3D y 4D 2.5.1.4.- Estructura directa 4D Esta se obtiene transponiendo la 3D. Se observa que solo tiene un punto de distribución y 2n ecuaciones en diferencias: 0 1 ( ) ( ) ( 1) p k x k p k = + − (2.77) 0 ( ) ( ) n n q k b p k = (2.78) 0 ( ) ( ) n n p k a p k = − (2.79) 0 1 ( ) ( ) ( 1) 1, n-1 i i i q k b p k q k i + = + − = (2.80) 0 1 ( ) p ( ) ( 1) i i i p k a k p k + = − + − (2.81)
38 Capítulo 2: Revisión histórica y contexto 0 1 ( ) ( ) ( 1) o y k b p k q k = + − (2.82) Estas cuatro estructuras son muy sensibles a la cuantificación de los coeficientes; una pequeña variación en ellos produce un gran movimiento de polos y ceros del regulador sobre todo para órdenes elevados y por tanto en las características de funcionamiento del lazo cerrado. La tabla 2.1 adjunta resume las propiedades: 1D 2D 3D 4D Elementos de retardo n n 2n 2n Multiplicadores 2n+1 2n+1 2n+1 2n+1 Sumadores 2 n+1 1 2n Distribuidores de señal n+1 2 2n 1 Tabla 2.1: Características computacionales de las estructuras directas 2.5.2.- Módulos de segundo orden Es frecuente implementar reguladores cuya función de transferencia es GR(z) conectando en serie o en paralelo módulos de orden dos con el objeto de minimizar los problemas de sensibilidad comentados en el apartado anterior. La función de transferencia de cada modulo es: 1 2 0 1 2 1 2 1 2 ( ) 1 R b b z b z G z a z a z − − − − + + =+ + (2.83) (k-1) 1 q q 2 (k) p(k-2) (d) (c) -1 z z -1 -a 2 1 -a -1 z z -1 -1 z z -1 -1 z z -1 b 0 1 b b 2 -a 1 2 -a -1 z z -1 x(k) y(k) -1 z z -1 2 b b 1 0 b -a 2 1 -a x(k) y(k) (a) (b) 0 p (k) 1 q (k)p (k) 1 2 b b 1 0 b y(k)x(k) y(k)x(k) -a 2 1 -a 2 b b 1 0 b Figura 2.15: Diagramas de flujo de módulos de segundo orden
Capítulo 2: Revisión histórica y contexto 39 Las estructuras de estos módulos y sus ecuaciones en diferencias se pueden obtener directamente del caso general: 1D: 2 1 ( ) ( ) ( ) i i i p k x k a z p k i − = = − − ∑ (2.84) 2 0 ( ) ( ) i i y k a p k i = = − ∑ (2.85) 2D: 0 1 ( ) ( ) ( 1) y k b x k q k = + − (2.86) 1 2 1 ( ) ( ) ( ) ( ) i =1, ..., n - 1 i q k p k b x k a y k = + − (2.87) 2 2 2 ( ) ( ) ( ) q k b x k a y k = − (2.88) 3D: ( ) 2 2 0 1 ( ) ( ) i i i i y k b x k i a y k i = = = − − − ∑ ∑ (2.89) 4D: 0 1 ( ) ( ) ( 1) p k x k p k = + − (2.90) 0 1 ( ) ( ) ( 1) o y k b p k q k = + − (2.91) 1 1 0 2 0 ( ) ( ) ( 1) p k a p k b p k = − + − (2.92) 1 1 0 2 0 ( ) ( ) ( 1) q k b p k b p k = + − (2.93) Las ecuaciones están puestas en el orden apropiado para que el tiempo de cálculo entre la entrada y la salida sea el menor posible. En la mayor parte de los casos el tiempo retardo de cálculo es mucho menor que el periodo de muestreo. En la literatura aparecen muchos otros tipos de estructuras para los módulos de segundo orden. Una de las más utilizadas son las estructuras con acoplamiento en cruz (1X), figura 2.16, con polos complejos conjugados. Las ecuaciones en diferencias de esta estructura son: y(k) = b0 x(k) + s2 (k-1) s1(k) = g1 s1(k-1) – g2 s2 (k-1) + g3 x(k) (2.94) s2(k) = g1 s2(k-1) – g2 s1 (k-1) + g4 x(k)
46 Capítulo 2: Revisión histórica y contexto Las estructuras en celosía para reguladores IIR [PRO98] se basa en la implementación en primer lugar de los polos de la función de transferencia mediante una estructura en celosía para sistemas FIR en el que se intercambian la entrada y la salida para posteriormente realizar los ceros mediante una conexión en escalera. Los filtros digitales de onda [FET86], [LAW81] poseen algunas propiedades interesantes, pero su diseño e implementación es más compleja que las estructuras vistas anteriormente. Se han realizado estructuras específicas para conseguir determinados objetivos como la eliminación de ciclos límite [FAM79], bajo ruido de redondeo [CHA78], baja sensibilidad en los coeficientes, etc. 2.6.- Escalado en punto fijo de reguladores digitales Uno de los aspectos, probablemente el más importante, a tener en cuenta a la hora de implementar una estructura de regulador en punto fijo es la posibilidad de que se produzca en los registros donde se almacenan los resultados de las operaciones un desbordamiento o saturación. Si alguno de los resultados de las operaciones procedentes de las ecuaciones recursivas que definen el comportamiento del filtro exceden los límites establecidos por los valores máximo y mínimo del rango dinámico definido, se producen grandes errores en cuantificación. Los errores cometidos dependen de la aritmética elegida. Estos errores introducen en el sistema de control no linealidades del tipo zona muerta y consecuentemente oscilaciones de overflow que son desastrosas en el funcionamiento de sistema. Elegida una longitud de palabra se puede disminuir la posibilidad de desbordamientos aumentando el rango dinámico pero esto aumenta el valor del escalón de cuantificación y por tanto el error de cuantificación. El procedimiento en filtrado digital para reducir la posibilidad de overflow en los registros internos es escalar el filtro de forma que las variables internas no superen en valor absoluto el máximo número representable en un registro. Un correcto escalado reduce la posibilidad de overflow y disminuye los efectos de la cuantificación. En la literatura se describen muchos procedimientos de escalado. El elegir el “óptimo” desde el punto de vista que minimice el ruido en la señal de salida resulta complicado y depende de la aplicación. En el campo del control digital las señales dentro del regulador pueden ser muy bajas. En este caso la norma l ∞ suele ser un escalado muy restrictivo que marca el límite superior y no suele utilizar. Por este motivo para escalar reguladores digitales PID se suele utilizar la norma l 1 [AHM84] mientras que en la implementación de reguladores lineales óptimos se escala con norma l 2 [MOR83] [WIL84]. También puede servir el escalado con base a la respuesta escalón y los métodos promedio. 2.6.1.- Escalado lp Dada una secuencia x(k) con k = 0,1,2 … , se define norma l p con 1≤ p≤ ∞ como:
Capítulo 2: Revisión histórica y contexto 47 ( ) p k n p p kxx 1 0 = ∑ ∞= = (2.125) Para p = 1 ( ) ∑ ∞= = = k k kxx 0 1 (2.126) Para que 1 x exista la secuencia x(k) tiene que ser absolutamente convergente. Para p = ∞ ( ) )(maxlim 1 0 kxkxx k p k n p p = = ∑ ∞= = ∞→ ∞ (2.127) Es decir que ∞ x es el máximo valor absoluto de la secuencia x(k) y se la denomina max x . Entre las normas l 1 a l ∞ las más utilizadas son la l 1 y la l 2 . 2.6.2.- Escalado l 1 Si consideramos un sistema (SISO) en lazo abierto como el de la figura: ( ) R G z u K Figura 2.22: Escalado en lazo abierto Si se quiere escalar la salida u’ a un rango (±1) con un factor de escala K u se debe de cumplir: 1´ max`max ≤= uKu u (2.128) Si el sistema es lineal invariante y estable, g R (k) respuesta impulsional del regulador se debe de cumplir la desigualdad de Holder: qp Ru egKku ≤)(' (2.129) cuando 1/p +1/q =1 Entonces: qp R u eg K1 ≤ (2.130)
48 Capítulo 2: Revisión histórica y contexto Si qp R u eg K1 = (2.131) estamos eligiendo el menor valor posible que nos asegura que el valor de u’ no supere el valor 1. Es un valor muy conservativo que minimiza los errores de cuantificación. En el escalado l 1 p = 1 y q = ∞ de forma que: max 0 1 )( 11 ekg eg K k kR R u ∑ ∞= = ∞ == (2.132) Esta opción de escalado tiene la ventaja de que si la entrada e(k) está acotada y |e(k)| max será conocido. La respuesta impulsional del regulador será conocida y el sumatorio se puede calcular siempre que la serie sea absolutamente convergente que lo sucederá siempre que el regulador diseñado sea estable. Este procedimiento de escalado marca el límite superior. Las condiciones necesarias para poder determinar el factor de escala K u son: • |e(k)| max será conocida y acotada, generalmente se hace que |e(k)| max ≤ 1 • El regulador debe ser asintóticamente estable. Si lo que se desea es escalar cada una de las variables internas del regulador según la norma l 1 el procedimiento será parecido. Conociendo el diagrama de flujo del regulador y las variables internas de cada nodo, se calcula la función de transferencia de la variable interna de cada nodo respecto de la entrada e(k) calculando el factor de escala K u . La transmitancia de la rama que entra al nudo desde la entrada se multiplica por el factor de escala y después se multiplica por la inversa de este factor la transmitancia de la rama que sale del nudo considerado hasta la salida. El proceso se repite en todos los nudos eligiendo el menor de todos los calculados y así se asegura que nunca habrá desbordamiento en ningún nudo. El proceso es muy laborioso pero se puede simplificar el problema escalando estructuras descritas en variables de estado. Si se considera el regulador SISO descrito en variables de estado ( 1) ( ) ( ) ( ) ( ) ( ) x A x B C x D k k e k u k k e k + = + = + (2.133) Se puede poner que: x(k) = K x’(k) donde x’ (k) representa el vector de estados escalado. K es una matriz diagonal no singular. K ii es cada elemento de la diagonal y es sencillamente el máximo valor absoluto de los x ’(k). Estos elementos se pueden calcular a partir del peor caso de la entrada y de la relación estado-entrada que considera los efectos de
Capítulo 2: Revisión histórica y contexto 49 la entrada sobre los otros estados. Entonces cada estado es escalado independientemente por 1 ii K − ( K es diagonal). Mediante una transformación de similitud. K : [ A, B, C, D ]→ [ K -1 A K, K -1 B, C K, D] (2.134) La descripción en el espacio de estados escalados es: 1 ( ) -1 -1 x'( ) = K A K x'( ) + K B ( ) ( ) = C K x'( ) + k k e k u k k D e k + (2.135) Donde: ( ) max 0 ( ) i k ii x k K e h k =∞ = = ∑ (2.136) ( ) ( ) i x h k es la respuesta impulsional en el estado x i debido a la entrada e(k). El cálculo de esta suma infinita se trunca hasta entrar en la región de convergencia deseada. Hay que hacer notar que la e(k) proviene de un sistema en lazo cerrado. Este tipo de escalado cuando se aplica en lazo abierto suele ser muy conservador. Un problema adicional se presenta cuando en el regulador contiene un integrador. El regulador en lazo abierto no es asintoticamente estable y el correspondiente K ii no se puede calcular. Ahora bien cuando el regulador funciona en lazo cerrado la estabilidad está asegurada por este motivo se utiliza el escalado en lazo cerrado con esta norma. 2.6.3.- Escalado en lazo cerrado En la figura 2.23 se representa un sistema de control en lazo cerrado: ( ) R G z Figura 2.23: Sistema de control en lazo cerrado En la figura 2.24 de abajo se representa el sistema escalado.
50 Capítulo 2: Revisión histórica y contexto ( ) R G z Figura 2.24: Escalado de un sistema de control en lazo cerrado Las ecuaciones en variables de estado del regulador son: x (k+1) = A x (k) + B e(k) u(k) = C x (k) + D e(k) (2.137) e(k) = r(k) – y(k) El escalado debe seguir satisfaciendo los requerimientos de diseño. El objetivo es llevar las señales escaladas e’(k), x’ (k) y u’(k) al rango [-1,+1] de forma que la función de transferencia en lazo abierto y cerrado no quede modificada por el escalado. Para conseguirlo es necesario realizar las siguientes transformaciones: x (k) = K x’ (k) e(k) = k y-1 e’(k) (2.138) u(k) = K u u’(k) Sustituyendo en las ecuaciones de estado anteriores se tiene que x’ (k+1) = A’ x’ (k) + B’ e’(k) (2.139) u’(k) = C’ x’ (k) + D’e’(k) Cuando: A’ =K -1 AK B’ = K -1 B K y-1 (2.140) C = K u-1 CK D ’ = K u-1 DK y-1 Son conocidas las funciones de transferencias de la salida u(k) y de los estados x(k) respecto de las entradas r(k), e(k) y por lo tanto se pueden obtener las respuestas impulsionales h e (k), h u (k) y h x (k). Los factores de escalado se calculan mediante las siguientes expresiones: ( ) max 0 ( ) i = 1, 2 , 3, ..., n i k ii x k K r h k =∞ = = ∑ (2.141) ( ) max 0 1 ( ) i yk e k K r h k =∞ = = ∑ (2.142)
Capítulo 2: Revisión histórica y contexto 51 ( ) max 0 ( ) i k u u k K r h k =∞ = = ∑ (2.143) Las ganancias K u y K y se suelen realizar en hardware en los interfaces A/D y D/A de forma que se preserve la ganancia total del sistema. Se observa que escalando con norma l 1 los factores calculados dependen del valor máximo de la entrada r(k) cuando en la mayoría de las veces este valor es más bajo que este máximo. El escalado tiende a ser conservativo y producir errores de cuantificación. Un forma de mejorar esto es escalar sobre un entrada r’(k) escalada con la norma l ∞ 2.6.4.- Escalado l 2 En esta forma de escalado esta asociada a la energía de las variables internas, las entradas y las salidas que se escalan. Si p = 2 y q = 2 2 2 2 2 0 0 1 1 . ( ) ( ) uk k R R k k Kg e g k e k =∞ =∞ = = = = ∑ ∑ (2.144) Si la entrada es ruido e(k) blanco con varianza unidad entonces 2 2 2 0 1 1 . ( ) uk R R k Kg e g k =∞ = = = ∑ (2.145) Se define el escalado l 2 : 2 0 1 ( ) k R k u g k K β δ δ =∞ = = = ∑ (2.146) El parámetro δ se escoge de forma arbitraria y puede interpretarse como el número de desviaciones estándar representables en el registro interno si la entrada es ruido blanco de varianza unidad. Es decir la esperanza matemática de la energía esta acotada por 1/ δ 2 . Este procedimiento no asegura que no haya desbordamientos en los registros internos. Un aumento de δ disminuye la probabilidad de desbordamiento y su elección óptima permite un compromiso entre un correcto escalado y un admisible ruido de redondeo. El procedimiento de escalado es semejante al de la norma anterior, si el regulador esta representado en variables de estado también se aplica una transformación diagonal que
52 Capítulo 2: Revisión histórica y contexto relacionada con la matriz de covarianza del regulador, que a su vez está relacionada con la respuesta impulsiva. 2.6.5.- Escalado con escalón unitario Es otro procedimiento de escalado utilizado en control. Si la entrada al regulador e(n) es la secuencia escalón unitaria (escalón de máxima amplitud) y v i (k) la secuencia en el nodo i de la estructura que se escala, y K i el factor de escala, se puede escribir: 0 ( ) ( ) ( ) i i i k v n K g k e n k ∞ = = − ∑ (2.147) 0 ( ) ( ) i i i k v k K g k ∞ = = ∑ (2.148) y [ ] 0, 0 ( ) max ( ) 1 n i i i nk v n K g k = ∞ = = ≤ ∑ (2.149) Por lo tanto podemos poner: [ ] 0, 0 1 max ( ) in i i nk K K g k = ∞ = = ∑ (2.150)
Capítulo 3: Efectos FWL 53 CAPÍTULO 3 Efectos FWL 3.1.- Introducción La búsqueda de la estructura de implementación que minimice los efectos de la aritmética de precisión finita (FWL) no es sencilla ya que los efectos que se producen tienen carácter aleatorio y no se puede asegurar que la estructura elegida en principio garantice entre otras, la estabilidad y las condiciones de comportamiento en régimen permanente y transitorio. Por tanto, una vez definida la estructura del regulador el siguiente paso fundamental es el análisis de los efectos FWL que produce su implementación. En este capítulo, se va a realizar un repaso de los efectos de la precisión finita en la implementación de reguladores digitales. En primer lugar se estudian los sistemas de numeración en punto fijo. En segundo lugar los efectos de la cuantificación de los coeficientes del regulador en el lazo cerrado. En tercer lugar los efectos producidos por la cuantificación de las variables en el doble aspecto del ruido de cuantificación y de los ciclos límite que producen y un repaso de las estrategias propuestas por otros investigadores de búsqueda de ciclos límite realizadas en el campo del filtrado digital y por último se pone de manifiesto las dificultades de análisis de estos efectos en sistemas digitales de control. 3.2.- Sistemas de numeración en punto fijo La elección del sistema de numeración es fundamental a la hora de implementar un regulador digital ya que la precisión con que se representan las señales y los coeficientes afecta al ruido de cuantificación, a las características de overflow y al rango dinámico. Cuantificar un número real es representarlo con un número finito de bits y el error que se comete es: ( ) e Q x x − ≜ (3.1) Se considera que x (y por tanto Q(x)) esta en el intervalo 1 1 x − ≤ ≤ . Si x > 1 entonces: 0 ' x C ≤ ≤ y 0 ( ') Q x C ≤ ≤ se normaliza al intervalo moviendo el punto binario L bits de forma que: ( ') 2 ( ) L Q x Q x = (3.2) 0 ( ) 1 Q x ≤ ≤ (3.3)
54 Capítulo 3: Efectos FWL 3.2.1.- Sistema de numeración en módulo y signo En este sistema un número x se puede representar cuantificado de la siguiente forma: 1 2 1 ( ) ( . ) (1 2 ) 2 b b i b i i Q x s m m m s m − = = = − ∑ ⋯ (3.4) donde s es el bit de signo s = 0 si x <1 y s = 1 si x > 1 y 1 2 ( ) (. ) b b Q x m m m =⋯ (3.5) A continuación se estudian tres métodos de cuantificación que se utilizan en reguladores digitales: truncación, redondeo y LSB-1. 3.2.1.1.- Cuantificación por truncación Si x es un número real entonces x es un número real positivo y se convierte en una fracción binaria expresándose en serie infinita que se trunca a b bits: 1 2 1 2 ( ) (. ) … b b x m m m m + = ⋯ (3.6) 1 2 2 ( ) (. ) b t b Q x m m m = ⋯ (3.7) Si x > 0 1 2 2 1 2 2 ( ) ( ) (.0 0 0 ) 2 (. ) b b b t t t b b b b e Q x x Q x x m m m m − + + + + = − = − = − = − ⋯ ⋯ ⋯ (3.8) Como 1 2 2 0 (. ) 1 b b m m + + ≤ ≤ ⋯ (3.9) 2 0 0 < bt e x − − ≤ ≥ (3.10) Si x > 0 ( ) 1 2 2 1 2 2 ( ) ( ) (.0 0 0 ) 2 (. ) b b b t t t b b b b e Q x x Q x x m m m m − + + + + = − = − − = − = −⋯ ⋯ ⋯ (3.11) 0 2 0 < b t e x − ≤ < (3.12) Esta característica de cuantificación representada en la figura 3.1a es no lineal y causa muchos problemas en los reguladores digitales. El signo de x determina el valor del error de cuantificación y si se considera que es una variable aleatoria (ruido) con función de distribución uniforme figura 3.1d se puede calcular la varianza de esta.
Capítulo 3: Efectos FWL 55 [ ] { } [ ] { } 2 2 2 2 2 2 0 0 5 2 24 t b e t t t t x x E e E e E e E e σ − ≥ ≤ ⋅ = − + − = (3.13) ( ) b t Q x 2 b − 2 2 b − ⋅ 2 b − 2 2 b − ⋅ ( ) b r Q x 2 b − 2 2 b − ⋅ 2 b − 2 2 b − ⋅ ( ) b l Q x 2 b − 2 2 b − ⋅ 2 b − 2 2 b − ⋅ (a) (b) (c) xxx 2 b − − 2 b − 2 b − − 2 b − 2 b − − 2 b − 2 b − − 2 b − ( ) t p e t e ( ) t p e t e ( ) t p e t e ( ) t p e t e 2 /2 b 2 /2 b 2 b 0 x ≥ 0 x < (d) -1 (f) 1 1 2 -2 -1 Suma de entradas Salida sumada (g) 2 /2 b (e) Figura 3.1: Características de la aritmética en módulo y signo
62 Capítulo 3: Efectos FWL El rango dinámico del sistema de numeración descrito es: max min ( ) 1 2 ( ) 0 2 b b Q x Q x − − = = ≠ (3.62) y todos los números deben caer en el rango: 1 ( ) 1 2 b Q x − − ≤ ≤ − (3.63) Por último se describen las características de overflow de este sistema de numeración. Los signos se tienen en cuenta de forma automática cuando los circuitos sumadores efectúan la suma binaria de dos números en complemento a dos. El bit de acarreo en la posición 21 se ignora lo que sucede con la suma de dos números negativos. Si la suma de dos números positivos cae fuera del rango de representación ocurre el fenómeno de underflow (aparece bit de acarreo en la posición 20) o cuando se suman dos números negativos y el bit de acarreo se en la posición de signo se olvida. Esta característica se representa en la figura 3.2g. 3.3.- Cuantificación de los coeficientes del regulador Uno de los principales objetivos de diseño un sistema de control, si no el más importante, es asegurar la estabilidad absoluta y robustez del sistema. Para ello se diseña el regulador de forma que el sea estable y a su vez el sistema en lazo cerrado también lo sea. Cuando se implementa un regulador sus coeficientes se almacenan con un determinado número de cifras. Esto afecta tanto a la dinámica del sistema como a la estabilidad. Se ha estudiado en las pasadas décadas el efecto del truncado y redondeo en el almacenamiento de los coeficientes de las ecuaciones en diferencias, o de la función de transferencia, de sistemas discretos lineales e invariantes en el tiempo en el campo del tratamiento digital de la señal desde el punto de vista de la estabilidad. Estos estudios no tiene en cuenta la realimentación, pero si que permiten la comparación de diferentes estructuras y algoritmos. El estudio es relativamente fácil si se realiza un análisis linealizado de sensibilidad de los parámetros de la ecuación característica; se pueden obtener estimaciones groseras de los errores en los cálculos mediante la idea de los números de condición del análisis numérico. Este número permite relacionar el error relativo en el resultado con el error relativo en los datos. Las consideraciones más importantes que se han derivado de este estudio son las siguientes: • El coeficiente más sensible es el término independiente de la ecuación característica. • Si todas las raíces están próximas al circulo unidad la sensibilidad es mayor. • Las formas asociadas son muy malas desde el punto de vista numérico. • Si los polos están juntos, la sensibilidad es mayor. • La sensibilidad aumenta con el orden de multiplicidad de los polos. • Realizaciones en forma directa implican mayor sensibilidad y menor número de operaciones.
Capítulo 3: Efectos FWL 63 • Realizaciones en cascada y paralelo implican mayor complejidad de cálculo y menor sensibilidad. De estos análisis se puede elegir la realización (realización de buena condición) más conveniente desde este punto de vista del algoritmo de control ya que el efecto de la cuantificación de parámetros es variable según la estructura del diagrama de bloques utilizado para su implementación. También hay que hacer notar que el periodo de muestreo tiene una influencia considerable sobre la condición, de forma que más rapidez de muestreo supone utilizar mayor precisión en la implementación de los coeficientes. Como ya se ha comentado todas estas consideraciones no han tenido en cuenta que el sistema global opera en lazo cerrado. Es bien conocido que la estabilidad en el funcionamiento en lazo cerrado puede degradarse mucho cuando el controlador diseñado se implementa con aritmética de precisión finita. Para un regulador digital diseñado para una frecuencia de muestro dada, se pueden reducir los efectos de la precisión finita de forma significativa eligiendo de forma adecuada la estructura del controlador. Pero la elección no es fácil ya que una variación de la situación de los polos (autovalores) y ceros de regulador en lazo abierto provoca una variación de polos y ceros del sistema en lazo cerrado. Se puede utilizar el método del lugar de las raíces para estudiar los efectos que provocan los errores por cuantificación de coeficientes pero suele ser muy complicado. En este punto se va a dar una idea del problema que se presenta. Figura 3.3: Diagrama de bloques de un sistema de control muestreado En la figura 3.3 conocido G(s), GR(z) y el periodo de muestreo T se trata de encontrar una estructura óptima FWL que asegure la estabilidad absoluta y cumpla las especificaciones de estabilidad relativa (margen de estabilidad). Si [ ] 1 ( ) C I A B G z z D − = − + es el equivalente discreto del sistema a controlar, 1 0 ( ) 0 0 0 R R R C I A B R R G z z D − = − + es la función de transferencia de una realización del regulador bajo precisión infinita, se pueden obtener diferentes estructuras a partir de esta para obtener la función de transferencia mediante transformaciones de similitud. K : [ A R , B R , C R , DR] → [ K -1 A R0 K, K -1 B R0 , C R0 K, DR0] (3.64)
64 Capítulo 3: Efectos FWL La matriz de transición de estados del sistema en lazo cerrado es única si la implementación se realiza bajo precisión infinita y es independiente de la realización escogida para su implementación. Suponiendo que D es cero esta matriz es: A BD C BC AB C A R R R R + = (3.65) El sistema será estable si los autovalores de esta matriz están dentro del círculo de radio unidad. Si se define la matriz X que es una realización del regulador: 1 1 1 2 2 D C XB A l n N l R R R R l n l n N p p p p p p + + − − + + = … ≜ ⋮ ⋱ ⋮ ⋯ (3.66) donde N = (l+n)(q+n) Se puede escribir: 0 1 2 ( ) A 0 B 0 C 0 A X X M M XM 0 0 0 I 0 I = + + ≜ (3.67) Cuando una realización del regulador se implementa bajo precisión finita X se modifica a X + ∆X 1 1 1 2 2 X l n N l l n l n N p p p p p p + + − − + + ∆ ∆ ∆ ∆ ∆ ∆ ∆ … ≜ ⋮ ⋱ ⋮ ⋯ (3.68) Cada elemento de esta matriz está limitado. Este límite depende del sistema de numeración y de la cuantificación. En punto fijo con b bits y cuantificación por redondeo: { } 1, , ( ) max 2 i i N q X p µ ∈ ∆ ∆ ≤ ⋯ ≜ ( ) 2 X b b q− − = (3.69) ( ) X µ ∆ representa la máxima perturbación posible en los parámetros del regulador elemento, 2 X b es el mayor factor de normalización tal que cada elemento 2 X X b− es absolutamente no mayor que uno. La perturbación X ∆ provoca que los polos del sistema en lazo cerrado ( ( )) A X i λ se muevan a ( ( )) A X X i λ + ∆ y puedan estar fuera del círculo de radio unidad. Hay dos aspectos a los que se refiere la robustez en la estabilidad en una determinada implementación del regulador. El primero concierne a la determinación del menor número de
Capítulo 3: Efectos FWL 65 bits (B s. mínimo) para asegurar la estabilidad. Esto se puede conseguir resolviendo el problema de estabilidad robusta: { } 0 ( ) inf ( ): ( ) X X A X X es inestable µ µ = ∆ + ∆ (3.70) Puesto que 0 /2 ( X) q µ ≤ se deduce que min 2 log ( ( ) 1 ) X s o x B B µ ≤ − + . Debido a las dificultades que se presentan para obtener 0 ( ) X µ se recurre a las simulaciones por computador para obtener el B s mínimo. El otro aspecto más importante es encontrar la estructura que haga que 0 µ sea máximo. En la actualidad existen dos aproximaciones para determinar la estructura de realización óptima bajo criterios diferentes, sensibilidad en las medidas de los polos (Istepanian et al) y medidas del radio de estabilidad (Fialdo et al). En el primer caso para cuantificar los efectos FWL se utiliza la sensibilidad de las medidas de los polos. Dada la dificultad de cálculo de 0 µ , este se sustituye por la siguiente medida de estabilidad basada en el módulo de los polos: 11 1 1 ( ) min X X i i m n N i jj p λ µδλ δ ≤ ≤ + = − ∑ ≜ (3.71) ( ) A X X + ∆ será estable si ( ) X µ < 1 ( ) X µ < 0 ( ) X µ . El intento de obtención de la realización óptima bajo el prisma de minimizar estos efectos conduce a un problema de optimización no convexo y no regular. Se han desarrollado técnicas de optimización para hacer fácilmente abordable este problema de optimización. En la segunda aproximación se utiliza el radio de estabilidad y aborda el problema de implementación óptima en el contexto del control robusto como un caso especial de minimización H 2 resolviendo el problema con el método de las inecuaciones de matrices lineales. 3.4.- Cuantificación de las señales En este punto se procede a analizar el efecto de la cuantificación de la variable de entrada al regulador digital y en las variables internas (nodos). Se pueden utilizar varias técnicas de análisis, de las que destacamos: Análisis no lineal Una descripción detallada de la cuantificación y del redondeo implica el empleo de modelos no lineales complicados, que son muy difíciles de analizar (función descriptiva,
66 Capítulo 3: Efectos FWL análisis mediante la teoría de las bifurcaciones, etc.). Ejemplos sencillos de estos modelos muestran que pueden dar lugar a equilibrios múltiples y ciclos límites. Un análisis mediante el empleo de la función descriptiva permite determinar de forma aproximada los ciclos límite si en el lazo de control existe solo una no linealidad. (AST88). Análisis lineal En este caso la cuantificación y el redondeo se modelan mediante operaciones ideales con perturbaciones sumadas o multiplicadas. Las perturbaciones pueden ser deterministas o estocásticas. Este tipo de análisis es especialmente útil para estimar el orden de magnitud, permitiendo la investigación de sistemas complejos y la comparación de diferentes algoritmos de control. A su vez se pueden utilizar distintas técnicas, de las que cabe distinguir las dos siguientes: Estudio del caso más desfavorable Se adopta el punto de vista “pesimista” en el que se supone que el redondeo produce el mayor efecto posible. Se trata de obtener el máximo error a que puede dar lugar un truncado o un redondeo. El estudio se realiza desde el punto determinista. Si se considera un sistema lineal, se observa que el redondeo de las variables no puede dar lugar a una la salida no acotada. Evidentemente el estudio hay que hacerlo cuando el sistema opera en lazo cerrado. Estudio del caso más desfavorable en régimen permanente Fue estudiado por Slaughter en el contexto del control digital y por Blackman en filtros digitales. En este análisis la atención se centra en los errores debidos al redondeo, cuando las variables alcanzan un valor constante en régimen permanente. Este estudio es simple y, desgraciadamente, no puede aplicarse siempre, pues se parte de la hipótesis de un error de cuantificación constante en régimen permanente de valor q (escalón de cuantificación) en régimen permanente. Las cotas calculadas por estos procedimientos dan lugar a valores excesivamente pesimistas. Análisis estadístico Otra posibilidad interesante para valorar el error de cuantificación es darle un carácter aleatorio a su aparición y estudiarlo desde el punto de vista estadístico. Se supone que el error cometido es una variable aleatoria uniforme en el intervalo (0, q) para el truncado y (-q/2, q/2) para el redondeo. La propagación de los errores de truncado y redondeo dependen de la función de transferencia entre el punto fuente de error y la salida. Se trata de determinar las propiedades estadísticas de la salida del regulador y del sistema en lazo cerrado con el objeto de deducir si el algoritmo de control amplifica el ruido de cuantificación. Se suponen ruidos estacionarios e incorrelados. 3.4.1.- Error de cuantificación en la conversión A/D
Capítulo 3: Efectos FWL 67 La tarea de un conversor A/D es, a partir de una señal analógica, proporcionar una señal digital codificada. Ello implica un proceso de cuantificación y codificación. En la figura 3.4 se considera el convertidor A/D, donde la señal de entrada x(t) se muestrea y se cuantifica en una secuencia {Q(x(k))}que es procesada por el regulador (filtro) digital. ( ) R G z Figura 3.4: Conversor A/D La mayor parte de los conversores A/D son bipolares (valores positivos y negativos). El sistema de numeración empleado normalmente es el complemento a dos y se puede utilizar la cuantificación por truncación o por redondeo. La cuantificación por truncación es equivalente a la cuantificación por redondeo añadiendo un sesgo de valor 2 -b /2 según se muestra en la figura 3.5: ( ) R G z 2 /2 b Sesgo − b r Q { } ( ( )) b r Q x k Figura 3.5: Modelo equivalente del conversor A/D El convertidor A/D introduce un error de cuantificación: ( ) ( ( )) ( ) b r r e k Q x k x k = − (3.72) Para determinar los efectos de la cuantificación en el funcionamiento del conversor A/D se utiliza la aproximación estadística. La naturaleza no lineal del cuantificador y la dependencia del error en las características de la señal de entrada hace intratable cualquier análisis determinista. La figura 3.6 representa el modelo del cuantificador. ( ) R G z { } ( ( )) b r Q x k Figura 3.6: Modelo de conversor y regulador Se considera que las características del error son:
68 Capítulo 3: Efectos FWL 2 2 2 2 b b r e − − − < ≤ 2 2 2 12 r b e σ − = (3.73) Para considerar el efecto de la cuantificación del la señal de entrada se puede utilizar la relación (potencia) de la señal a ruido de cuantificación: 2 2 10log 10log 6.02 16.81 20log r x x e e x P R SNR b P σ σ σ = = = − − (3.74) El último término depende del rango R del A/D y de los estadísticos de la señal de entrada. Esta fórmula se utiliza para determinar la precisión o longitud de palabra del conversor; esto significa que por cada bit adicional en el cuantificador incrementa la relación SNR en 6 dB. Este error es una entrada al regulador digital. 3.4.2.- Errores de cuantificación en las variables internas y en la salida del regulador Como ya se ha comentado reiteradamente existen muchas estructuras de implementación de reguladores digitales. En el tema dos se ha descrito las más interesantes desde el punto de vista del control. Las variables internas en cada nodo son el resultado de una suma de productos formados por coeficientes del regulador y señales internas. 1 ( ) ( ) L l i i i v k cv k = = ∑ (3.75) Esta expresión representa el caso ideal donde los coeficientes c i están sin cuantificar y las variables v i también. En la implementación los coeficientes se cuantifican, por ejemplo a a bits y las variables se representan con b bits, por ejemplo, en complemento a dos. El producto tendrá a+b bits. El producto puede ser cuantificado Q 1 a b bits y realizar la suma o bien hacer las sumas con a+b bits y el resultado cuantificar Q 2 a b bits. La situación depende del hardware elegido siendo la cuantificación Q 2 la que introduce menor del ruido de cuantificación. La varianza del ruido introducida por Q 1 en v l (k) es: 1 1 2 2 2 1 L e e e i L σ σ σ = = = ∑ (3.76) La varianza del ruido introducida por Q 2 en v l (k) es: 1 2 2 e e σ σ = (3.77) En cada nodo se puede demostrar [PHI90] que aparece un ruido de cuantificación que en caso de redondeo, e r tiene las siguientes características:
Capítulo 3: Efectos FWL 69 2 2 2 2 2 b b b a r e − − − − − + < ≤ con min 0 2 0 b a r e − − ≠ = ≈ (3.78) Su función de probabilidad es discreta: 1 21 1 1 ( ) 2 2 (1 2 ) a i a b a r r i p e e i δ − − = − − − − + = = − − ∑ (3.79) 2 ( ) 0 2 b a r E e − − = ≈ (3.80) 2 2 2 2 2 2 (1 2 ) 12 12 r b b a e σ − − − = − ≈ (3.81) De estas expresiones se observa que se puede aproximar el error de redondeo de los productos usando las características del error de redondeo con función de probabilidad continua. Para analizar el efecto de la cuantificación en la variable de salida en el regulador se supone que existen Q uniones de sumandos cada uno modelado según la figura 3.7: 1 ( ) q v k 2 ( ) q v k ( ) q L v k 1 q c 2 q c q L c ( ) q l v k Figura 3.7: Modelo del producto El regulador digital se puede modelar según la figura 3.8: 1 ( ) G z ( ) i G z ( ) Q G z 1 ( ) F z ( ) i F z ( ) Q F z 1 ( ) E z ( ) i E z ( ) Q E z 0 ( ) E z ( ) X z ( ) q Y z Figura 3. 8: Modelo del regulador
70 Capítulo 3: Efectos FWL Donde e 0 (k) representa el error de cuantificación del conversor A/D, F i (z) es la función de transferencia de la entrada al i-ésimo punto de suma de cada error de cuantificación de productos y G i (z) es la función de transferencia de cada punto anterior a la salida. Entonces: 01 ( ) ( ) ( ) ( ) ( ) ( ) ( ) Q qR R i i i Y z X z G z E z G z E z G z = = + + ∑ (3.82) Se puede poner: ( ) ( ) ( ) ( ) qR n Y z X z G z E z = + (3.83) Donde: 01 0 ( ) ( ) ( ) ( ) ( ) ( ) Q Q n R i i ni i i E z G z E z G z E z E z = = = + = ∑ ∑ (3.84) Con G 0 (z) = G R (z) En lo que sigue vamos a analizar el error de cuantificación considerando que es una perturbación de carácter determinista. En el dominio del tiempo se puede poner: 0 ( ) ( ) ( ) ni i i j e k g j e k j ∞ = = − ∑ (3.85) max 0 0 ( ) ( ) ( ) ( ) ( ) ni i i i i j j e k g j e k j e k g j ∞ ∞ = = ≤ − ≤ ∑ ∑ (3.86) Considerando que cada producto se redondea por separado: max max ( ) 2 i i r i q e k L e L = = (3.87) por lo tanto: 0 ( ) ( ) 2 ni i i j q e k L g j ∞ = ≤ ∑ (3.88) Como 0 ( ) ( ) Q n ni i e k e k = ≤ ∑ (3.89) 0 0 0 0 0 ( ) ( ) ( ) ( ) 2 2 Q Q Q n ni i i i i i i j i j q q e k e k L g j L g j ∞ ∞ = = = = = ≤ ≤ ≤ ∑ ∑ ∑ ∑ ∑ (3.90)
Capítulo 3: Efectos FWL 71 Este valor es la mayor cota de la magnitud del error de redondeo a la salida del regulador. Es un valor muy pesimista ya que se ha considerado el máximo error en cada instante de muestro y además se han sumado sin considerar el signo. Es el peor caso posible en este modelo. Otra cota más realista se puede obtener aplicando una entrada escalón de amplitud q/2 en cada cuantificador. ( ) - 0 2 i i q e k j L si k j − = ≥ (3.91) ( ) 0 - 0 i e k j si k j − = < (3.92) 0 ( ) ( ) 2 k ni i i j q e k L g j = = ∑ (3.93) En régimen permanente k tiende a infinito: 0 ( ) ( ) 2 ni i i j q e L g j ∞ = ∞ = ∑ (3.94) pero: 1 0 ( ) ( ) (1) i i z i j g j G z G ∞ = = = = ∑ (3.95) Por tanto: 0 ( ) (1) 2 Q n i i i q e L G = ∞ ≤ ∑ (3.96) A esta cota se la llama cota de error en la salida en régimen estacionario. De este estudio se desprende que el análisis basado en modelos deterministas de los efectos de la cuantificación no es muy realista debido a los efectos no lineales que produce. Además, como se ha visto, no es fácil obtener modelos en reguladores con muchos nodos sumadores y muchas multiplicaciones. Se obtienen resultados más generales sobre estos efectos, modelando los errores de cuantificación en los productos como secuencias de ruido aditivo como ya se hizo en la conversión A/D y las variables como variables estocásticas. La secuencia de salida del regulador se separa en dos componentes que se suman. Uno debido a la entrada x(k) y otro debido a los ruidos aditivos de cuantificación e ni (k). Utilizamos la teoría de procesos estocásticos para calcular la media, la varianza del ruido de cuantificación y la relación SNR a la salida del regulador digital. Se suponen procesos estacionarios e incorrelados. El modelo se muestra en la figura 3.9:
78 Capítulo 3: Efectos FWL secciones individuales. En el caso de una realización en cascada para la obtención de un filtro IIR de orden superior, los ciclos límite son mucho más difíciles de analizar. En particular, cuando la primera sección del filtro produce un ciclo límite, este se filtra en las secciones siguientes. Si la frecuencia del ciclo límite está cerca de la frecuencia de resonancia de alguna de las secciones siguientes, la amplitud del mismo se ve incrementada considerablemente por el efecto de resonancia. En sistemas de orden superior el estudio se complica enormemente. El problema de la aparición de estas oscilaciones ha dado lugar a gran cantidad de publicaciones en el campo del procesado de la señal bajo distintos aspectos. Estudio del impacto de ciclos límite en diferentes estructuras de filtros [FET72], [THO76] y [KAU96]. Estrategias de eliminación [FET75b], [MEE76], [TUR83] y [HAR00] para llegar a estructuras libres de ciclos límite [VER 77], [BAR 77] y [MIL 78]. Establecimiento de condiciones generales para la ausencia de oscilaciones [VA87]. Obtención de cotas teóricas en la amplitud y periodo que pueden alcanzar las oscilaciones [SAN72], [YAK73], [LON73], [MIT77] y [GRE88]. Descripción de algoritmos de búsqueda exhaustiva [BAU 91], [PRE 96] y [DJE 98] y creación de algoritmos de búsqueda parcial y guiada [OSE 00], [JIM 01] y [UTR 02]. 3.6.- Oscilaciones de Overflow Aparte de los ciclos límite estudiados en la sección anterior pueden aparecer ciclos límite causados por desbordamientos en las sumas. Estas oscilaciones son de gran amplitud y provocan grandes oscilaciones en la variable a controlar y el sistema se vuelve inestable. Aparecen cuando se suman dos o más números binarios produciéndose un desbordamiento cuando la suma excede el tamaño de la palabra disponible en la implementación digital del regulador. Si consideramos, por ejemplo, el filtro de la figura en el que la suma se realiza en aritmética con complemento a dos: 1 z − 2 a − 1 a − 1 z − Figura 3.11: Filtro de segundo orden .
Capítulo 3: Efectos FWL 79 Podemos poner: 1 2 ( ) ( ( ) ( 1) ( 2)) y k g x k a y k a y k= + − + − (3.129) donde g(.) representa la suma en complemento a dos. Esta función está representada en la figura 3.2g. El rango de valores de a 1 y a 2 para que el filtro sea estable viene determinado por el conocido triángulo de estabilidad, pero estas condiciones no son suficientes para prevenir las oscilaciones por desbordamiento con aritmética en complemento a dos. Se puede demostrar que la condición necesaria y suficiente para que no existan este tipo de oscilaciones es: 1 2 1 a a + < (3.130) Esta condición es muy restrictiva y no se puede imponer en cualquier sección de segundo orden. Una solución para resolver este problema es modificar la característica del sumador como se muestra en la figura 3.11 de forma que realice la aritmética de saturación. Figura 3.12: Característica de saturación Cuando se perciba un desbordamiento, la salida será el valor del fondo de escala de ±1. Esto introduce una no linealidad de efecto pequeño ya que la saturación se produce con poca frecuencia. De cualquier forma sigue siendo necesario escalar las señales y los parámetros del regulador. 3.7.- Minimización de oscilaciones de ciclos límite y de oscilaciones de overflow En este apartado se estudia la posibilidad de la eliminación de ciclos límite granulares, de overflow y la minimización de sus efectos. En la bibliografía consultada en el contexto del filtrado digital se pueden encontrar varios métodos diferentes para su eliminación o minimización de sus efectos, pero la característica de todos ellos es que no se trata de métodos generales aplicables a cualquier tipo de estructura y además, en aquellas estructuras donde pueden aplicarse las condiciones son muy restrictivas.
80 Capítulo 3: Efectos FWL Un primer intento de minimizar sus efectos consiste en incrementar la longitud de palabra utilizada en la implementación del filtro, con lo que se puede conseguir una disminución en la amplitud de los ciclos límite pero no su eliminación. La longitud de palabra elegida para minimizar los efectos de los ciclos límite estará en función de las especificaciones del sistema de forma que garantice el correcto funcionamiento de la aplicación diseñada. Este método ha sido estudiado por Sandberg y Kaiser [SAN72], Long y Trick [LON73] y Green y Turner [GRE88]. Los ciclos límite pueden ser eliminados mediante la utilización en estructuras específicas de esquemas de cuantificación adecuados. Un método para la eliminación de los ciclos límite producidos ante entrada nula fue propuesto por Meerkötter [MEE76] y posteriormente utilizado por Mills, Mullis y Roberts [MIL78] y Vaidyanathan y Lui [VAI87]. En él se demuestra que existen diversas realizaciones que soportan la eliminación de las oscilaciones de ciclo límite. En este método está basado en el criterio de estabilidad de Lyapunov y el se obtiene una función de Lyapunov relacionada con la energía almacenada que permite demostrar, que bajo ciertas condiciones, los ciclos límite no pueden mantenerse. Considérese un filtro digital como el mostrado en la figura 3.12 donde el bloque A es un subsistema lineal que contiene sumadores, multiplicadores e interconexiones pero no contiene unidades de retardo. Los bloques Q n (n =1,2, ..., N) a la entrada de las unidades de retardo realizan la cuantificación y control de overflow de la señal. 1 ( ) x k 1 ( ) x k 1 ( ) q k ( ) N x k ( ) N x k ( ) N q k ( ) u k ( ) y k 1 Q T N Q T Figura 3.13: Esquema de eliminación de ciclos límite Las ecuaciones en el espacio de estado que caracterizan el filtro pueden expresarse como: ( ) ( ) u( ) ( ) ( ) ( ) x A q B C q k k k y k k Du k = + = + (3.131) Ante entrada nula, u(k) = 0: ( ) ( ) x A q k k = (3.132)
Capítulo 3: Efectos FWL 81 donde { } ij a=A y ( ) n x k ɶ está relacionada con ( ) n x k a través de un sistema (cuantificador) no lineal y posiblemente variante en el tiempo dado por: { } ( ) ( ) 1,2, , n n n x k Q x k n N = ∀ = ɶ ⋯ (3.133) La forma cuadrática: [ ] T ( ) ( ) ( ) q q Dq p k k k = (3.134) donde D es una matriz diagonal definida positiva de dimensiones NxN, que está relacionada con la energía almacenada en las unidades de retardo en el instante kT, y los cambios en estas cantidades pueden proporcionar información sobre la estabilidad del filtro bajo condiciones de entrada nula. El incremento de p[q(k)] en un ciclo de filtrado puede expresarse como: [ ] [ ] [ ] ( ) ( 1) ( ) q q q p k p k p k ∆ = + − (3.135) obteniéndose a partir de las ecuaciones (1.132), (1.134) y (1.135): [ ] T T ( ) ( ) ( ) ( ) ( ) q q Dq x Dx p k k k k k ∆ = − + ɶ ɶ (3.136) [ ] [ ] [ ] ( ) T T T T T 2 2 1 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) q q D q x D x A q D A q x D x q D-A DA q T N n n nn n p k k k k k k k k k k k x k x k d = ∆ =− + + − = =− − − ∑ ɶ ɶ ɶ (3.137) donde d nn para n =1,2,...,N son los elementos de la diagonal principal de D. Si se cumple que: ( ) T T ( ) ( ) 0 q DA DA qk k ≥ (3.138) y las señales x k [n] son cuantificadas de tal forma que: ( ) ( ) 1,2, , n n x k x k n N ≤ ∀ = ɶ ⋯ (3.139) se obtiene que [ ] ( ) 0 qp k ∆ ≤ , es decir, que la energía almacenada en las unidades de retardo no puede incrementarse. Puesto que un filtro digital es un dispositivo de finitos estados, las señales q n (k) después de un número finito de ciclos de filtrado deben tender a cero u oscilar periódicamente. En el primer caso, no se producirán oscilaciones de ciclo límite. En el segundo caso, por los menos una de las señales q n (k) debe oscilar periódicamente. Sin embargo de la expresión obtenida, [ ] ( ) 0 qp k ∆ ≤ , se deduce que la amplitud de la oscilación debe decrecer una cierta cantidad con cada ciclo de filtrado antes de que se haga cero lo cual sucederá después de un número finito de ciclos. Por tanto, la ecuación (3.138) junto con la ecuación (3.139) constituyen una condición suficiente para la eliminación de los ciclos límite. La realización de un filtro que satisface la ecuación (1.138) se dice que soporta la eliminación de ciclos límite producidos ante entrada nula. La condición impuesta por la ecuación (3.139)
82 Capítulo 3: Efectos FWL puede cumplirse utilizando cuantificación de las variables de estado por truncado en magnitud. Para un filtro estable, el módulo de los autovalores de la matriz A son menores que la unidad y la ecuación (3.138) puede ser satisfecha si es posible encontrar una matriz D definida positiva de tal forma que la matriz D – A T DA sea semidefinida positiva [MIL78] y [VAI87]. Para filtros de segundo orden, esta condición es satisfecha si se cumple que 0aa 21 12 ≥ o bien si 0aa 21 12 < y 1)det(aa 2211 ≤+− A . Hay algunas realizaciones que soportan la eliminación de ciclos límite ante entrada nula como por ejemplo la estructura normal en el espacio de estados, en la cual: αβ− βα =- A (3.140) con β > 0 [RAD67], [BAR77], y [GRA73]; realizaciones que minimizan el ruido de redondeo a la salida tales como las presentadas en [MUL76] y [JAC79]; realizaciones en celosía [VAI87], [GRA73] y [GRA80], etc. El tratamiento del problema de las oscilaciones de overflow en las variables internas y en salida del regulador es probablemente el escalón más importante en el diseño del regulador digital. Ya se han comentado dos formas posibles de eliminarlas, la primera es realizar un escalado adecuado y la segunda utilizar la característica de saturación adecuada si se está utilizando la aritmética en complemento a dos. Otro procedimiento alternativo, es utilizar estructuras de implementación que estén libres de estas oscilaciones (Mills, Mullis and Roberts) y es semejante al utilizado para la eliminación de ciclos límite. Si el regulador digital está representado en variables de estado: ( 1) ( ) ( ) x A x B k k u k + = + (3.141) La característica de overflow se puede imponer como: ( 1) ( ( ) ( )) x G A x B k k u k + = + (3.142) Si existe una matriz diagonal D con todos elementos positivos y D - A T DA es definida positiva las oscilaciones de overflow son imposibles. Si la matriz es 2 x 2 y el modulo de sus autovalores es menor que uno y existe la matriz antes comentada se deben de cumplir las siguientes condiciones que hacen imposibles las oscilaciones de overflow (las mismas condiciones que para la eliminación de ciclos límite). 12 21 0 a a ≥ o 12 21 11 22 0 det( ) 1 Aa a y a a < − + < (3.143) Para cualquier regulador digital hay siempre implementaciones en complemento a dos libres de oscilaciones de overflow. La teoría de estabilidad de Liapunov establece una única solución para:
Capítulo 3: Efectos FWL 83 T P A PA I = + (3.144) P es definida positiva. Si T es una raíz cuadrada simétrica de P -1 entonces: 1 1 ( ( -1 T P I T AT) I T AT) − − = − (3.145) T es una transformación de coordenadas que produce una nueva A que cumple las condiciones de la matriz D. Esta solución requiere gran número de multiplicaciones y la descripción del regulador debe estar en variables de estado por lo que la hacen no práctica en muchas aplicaciones. 3.6.- Detección de ciclos límite en filtros digitales Otro enfoque sobre el estudio de ciclos límite es la utilización de algoritmos de búsqueda que sean capaces de detectar si una estructura posee ciclos límite o esta libre de ellos así como su caracterización completa: permiten conocer su amplitud y su periodo. En el contexto del procesado digital de señales los primeros algoritmos que se desarrollaron fueron los de búsqueda exhaustiva [BAU91] y [PRE95]. El primero de ellos puede aplicarse a filtros digitales descritos mediante un sistema de ecuaciones en diferencias de cualquier orden. Su planteamiento es sencillo e intuitivo, siendo sus necesidades de memoria mínimas. El segundo algoritmo se basa en un planteamiento más racional del problema de detección, reduciendo el número de operaciones en el proceso de búsqueda, pero con el inconveniente de necesitar gran cantidad de memoria. Estos algoritmos tienen diversos inconvenientes entre los que destacan el elevado tiempo de procesamiento, la necesidad de cálculos previos de cotas de amplitud y periodo de los ciclos límite (muy conservativas y que generalmente son complicadas de realizar) y que no caracterizan los ciclos límite con la intención de evaluar su influencia en la aplicación diseñada sino que se centran únicamente en detectar si se producen. Los algoritmos realizan una búsqueda sobre todos los posibles estados de los registros internos inferiores a la cota previamente calculada. Para la aplicación de estos algoritmos será necesario la determinación de una cota de amplitud máxima (valor absoluto máximo que pueden alcanzar los elementos del vector de estados cuando el filtro evoluciona en régimen permanente ante entrada nula) y una cota para el periodo máximo de las oscilaciones parásitas. Ambas cotas permiten reducir el tiempo de cálculo necesario para comprobar si el filtro en estudio se encuentra libre de oscilaciones de ciclo límite. No permiten conocer la amplitud y el periodo de los ciclos límite que se detectan. Con el fin de obtener la caracterización completa de ciclos límite en filtros digitales ante entrada nula se han desarrollado posteriormente algoritmos con estrategia de búsqueda parcial y estrategia de búsqueda guiada [OSE99] [UTR00] y [JIM01]. Con los algoritmos de búsqueda parcial en pocos segundos, se puede caracterizar el filtro frente a los ciclos límite y se puede obtener una cota aproximada. Con los algoritmos de búsqueda guiada el objetivo principal es el cálculo de una cota próxima a la cota real. Con estos algoritmos se consigue un aumento en la velocidad de detección mediante la prueba de vectores de mayor energía que la
84 Capítulo 3: Efectos FWL máxima almacenada en cada uno de los registros en los ciclos límite detectados. El comportamiento de estos algoritmos será diferente en función del tipo de filtro y la situación de sus polos con respecto a la circunferencia de radio unidad. 3.6.1.- Cotas de amplitud de los ciclos límite en filtros digitales Se puede demostrar que los ciclos límite que aparecen en un determinado filtro no pueden superar en módulo un determinado valor, constituyendo éste una cota teórica máxima [BAU91]. En general, la no linealidad introducida durante el proceso de cuantificación Q[.], satisface la expresión: [ ] ℜ∈∀⋅δ≤− x , q xQx (3.146) donde δ es el error de cuantificación normalizado (en particular, para el caso de cuantificación por redondeo 5.0 = δ y para truncado 1 = δ ) y q el escalón de cuantificación. Teniendo en cuenta que todos los parámetros del filtro deben expresarse como múltiplos enteros del escalón de cuantificación de tamaño q, por sencillez, se trabajará en lo sucesivo con un valor de q normalizado a la unidad. En todas las expresiones se considerará que q = 1 siempre que no se indique lo contrario. El proceso de cuantificación puede modelarse mediante una función entera de variable real Z : Q → ℜ , siendo ℜ el conjunto de los números reales y Z el conjunto de los números enteros. Para todos los tipos de cuantificación que se van a aplicar se cumple que Q[0] = 0. Considerando un filtro digital de orden N representado en el espacio de estados por el conjunto de matrices { } A,B,C, D : ( 1) ( ) u(k) ( ) ( ) u(k) x Ax B Cx k k y k k D + = + = + (3.147) donde { } x/x ii ℜ∈=xrepresenta el vector de estado, u(k) la señal de entrada, e y[(k) la señal de salida. Si el filtro de orden N tiene una entrada y una salida entonces, , NxN ℜ∈A , 1Nx ℜ∈B 1x1xN1 y ℜ∈ℜ∈ DC . Para la detección de ciclos límite ante entrada nula en filtros digitales únicamente será necesario analizar la ecuación recursiva que relaciona el estado actual de los registros internos con el siguiente: ( 1) ( ) x Ax k k + = (3.148) Para el estudio, se considerarán únicamente los filtros estables, es decir, aquellos cuyos autovalores de la matriz A se encuentren en el interior de la circunferencia de radio unidad en el plano complejo. Imponiendo condiciones de longitud de palabra finita, la ecuación (3.148) quedará en la forma:
Capítulo 3: Efectos FWL 85 [ ] ( ) ( ) x Ax k Q k = (3.149) Dependiendo de si el resultado de un producto es almacenado con doble precisión o si se realiza la cuantificación inmediatamente después de cada producto se pueden dar las siguientes situaciones: Productos almacenados con doble precisión. Se dispone de un acumulador cuya longitud de palabra es el doble de la del resto de los registros: 1 1 1 ( ) ( 1) ( ) x m j j j m Nj j j Q a x k k Q a x k = = ⋅ ⋅ + = ⋅ ⋅ ⋅ ∑ ∑ (3.150) Cuantificación inmediatamente después de cada producto. Se dispone de un acumulador con la misma longitud de palabra que el resto de los registros: [ ] [ ] [ ] [ ] [ ] [ ] 11 1 12 2 1 1 1 2 2 ( ) ( ) ( ) ( 1) ( ) ( ) ( ) + x + N NN N N N N Q a x k Q a x k Q a x k k Q a x k Q a x k Q a x k ⋅ + ⋅ + ⋅⋅⋅ ⋅ ⋅ + = ⋅ ⋅ ⋅ + ⋅ + ⋅⋅⋅ ⋅ (3.151) donde ( ) j x k es la componente j del vector x(k). El proceso de cuantificación puede interpretarse como la introducción de un error de forma que la ecuación (3.149) puede expresarse como: ( 1) ( ) ( ), ( ) i x Ax e k k k e k m δ + = + ≤ ⋅ (3.152) donde { } ( ) ( )e N i k e k = ∈ℜ es el vector de error de cuantificación. Si el cálculo de los productos se realiza en doble precisión m =1, mientras que en el caso de precisión simple m = N. En la actualidad, prácticamente todos los procesadores digitales de señal disponen de acumuladores de doble precisión por lo que en adelante se considerará únicamente esta posibilidad. Para la determinación de la cota de cada uno de los elementos del vector de estados, x(k), pueden seguirse varios métodos. El primero utiliza la descripción del filtro en variables de estado y se debe a Sidney Yakowitz y Sidney Parker [YAK73], el segundo utiliza las funciones de Lyapunov y se debe Brian D. Green y Laurence
86 Capítulo 3: Efectos FWL E. Turner [GRE88] y el tercero utiliza la función de transferencia en z y fue propuesto por Premaratne [PRE96]. En la mayor parte de los casos la implementación del filtro se realiza mediante la utilización de estructuras cuya descripción viene dada por un sistema de ecuaciones en diferencias, donde las variables utilizadas no corresponden todas ellas a variables de estado (variables de estado se consideran las salidas de los bloques de retardo) sino a variables de los nudos internos del filtro. Las cotas obtenidas por Long y Trick [LON73] son razonablemente cerradas y relativamente fáciles de aplicar. A continuación se describe su planteamiento. Considérese un filtro implementado en forma directa caracterizado por la ecuación en diferencias: 0 1 ( ) ( ) ( ) N N i i i i y k b x k i a y k i = = = − − − ∑ ∑ (3.153) Para una implementación con cuantificación por redondeo, el filtro puede quedar caracterizado por la ecuación: ( ) ( ) 0 1 ( ) ( ) ( ) ( ) ( ) N N i bi i ai i i y k b x k i e k a y k i e k = = = − + − − − ∑ ∑ (3.154) donde e bi (k) y e ai (k) representan los errores debidos a la cuantificación de los productos. Ante entrada nula, ( ) 0 bi e k = y por tanto 1 ( ) ( ) ( ) N i i y k e k a y k i = = − − ∑ , siendo 1 ( ) ( ) N ai i e k e k = = ∑ (3.155) De esta forma el filtro puede representarse como un sistema cuya entrada es e(k) y salida y(k), siendo su función de transferencia: 1 1 ( ) 1 N i i i H z a z − = = + ∑ (3.156) La técnica empleada se basa en asumir que el ciclo límite es una función periódica de periodo múltiplo de T; por tanto el periodo será MT. Puesto que H(z) representa un filtro lineal, e(k) deberá tener el mismo periodo siendo ( ) ( ) e k e k M = + . A partir de la suma de convolución se puede expresar: 0 ( 1) 1 ( ) ( ) ( ) k Mj N j l k j M y k h k l e l − = = − + + = − ∑ ∑ (3.157) Haciendo el cambio de variable p = k-iM-l y teniendo en cuenta que: ( ) ( ) e k iM l e k l − − = − (3.158)
Capítulo 3: Efectos FWL 87 e intercambiando el orden de los sumatorios se obtiene: 1 0 0 ( ) ( ) ( ) M p j y k e k p h p iM − ∞ = = = − + ∑ ∑ (3.159) Puesto que 1 ( ) ( ) N ai i e k p e k p = − = − ∑ , siendo 2 ( ) 2 b ai e k p − − ≤ , se deduce que: 1 ( ) ( ) 2 N ai i Nq e k p e k p = − ≤ − ≤ ∑ con 2 b q − = (3.160) obteniendo una cota para la amplitud de los ciclos límite dada por: 1 0 0 ( ) ( ) 2 M p i Nq y k h p iM − ∞ = = ≤ + ∑ ∑ (3.161) Evidentemente, el resultado depende del periodo del ciclo límite, el cual se desconoce. El problema puede resolverse mediante el cálculo de las cotas para valores de M correspondientes a las frecuencias en el rango de 0 a 2/ s ω, siendo ω S la frecuencia muestreo. El máximo valor obtenido puede utilizarse como una estimación conservativa de la cota. A partir de la expresión anterior puede obtenerse una cota máxima e independiente de M dada por: [ ] 0 ( ) 2 k Nq y k h p ∞ = ≤ ∑ (3.162) Por ejemplo, para el caso de una sección de segundo orden con función de transferencia: 1 2 1 2 1 ( ) 1 H z a z a z − − =+ + (3.163) se obtienen, en función del tipo de polos presentados, las siguientes cotas: Polos reales y distintos: ( ) 2 1 2 4 a a >: La frecuencia de los ciclos límite es generalmente 0 (M = 1) ó ω s /2 (M = 2), siendo la cota obtenida: 1 2 1 2 1 1 ( ) 2 1 qM a a y k qM a a ∀ = + + ≤ ∀ = − + (3.164)
94 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva búsqueda de cotas, análisis de ruido y búsqueda de nuevas estructuras que puedan presentar mejores características frente a los efectos FWL en la implementación digital de un sistema conocida su relación entrada-salida. El objeto de esta sección es describir el sistema de la figura 4.1 mediante alguna forma que refleje completamente su estructura (nodos y ramas) la relación entrada-salida con el fin de poder analizar los factores de memoria, computabilidad, complejidad de cálculo y análisis de los problemas de cuantificación. La formulación que se presenta a continuación para representar de forma general sistemas discretos fue descrita por primera vez por Crochiere [CRO75] y utilizada por Paul Moroney [MOR83] donde se representa un filtro digital descrito por una ecuación matricial que permite calcular de forma correcta las variables de los nodos internos de cualquier estructura de realización. Esta formulación está basada en la representación de sistemas discretos mediante diagramas de flujo o grafos utilizados en la sección 2.5 para representar estructuras de reguladores digitales. Estos grafos están compuestos por ramas y nudos. Las ramas pueden ser retardos o multiplicadores. Los nodos representan las variables y pueden ser puntos de suma o de distribución. Para poder utilizar esta representación es necesario primero proceder a numerar todos los nodos del grafo que representa una estructura. En esencia se trata de determinar la relación entre la señal de cada nodo respecto de las señales en todos los demás nodos del grafo. La conexión entre dos nodos consisten en combinaciones de ramas de retardo y /o multiplicadores. Los nodos no conectados a ningún otro nodo son nudos fuente o sumidero si respectivamente salen ramas o entran. De esta forma se puede escribir que la señal en cada nodo en el instante k es una combinación lineal de las señales de todos los otros nodos y posiblemente de una señal externa como indica la ecuación 4.2 con j = 1,2, … , m. 1 ( ) ( ) ( ( ) ( 1)) m j j ji j ji j i y k x k a y k b y k = = + + − ∑ (4.2) siendo m el número de nodos a ji y b ji son los coeficientes de transmisión o transmitancias que unen los nodos i con el j, y j (k) es la señal en el nodo j y x j (k) es la señal de entrada en el nodo j. Si se utiliza la transformada Z para la ecuación 4.2 se tiene: ( ) 1 1 ( ) ( ) ( ) ( ) m j j ji i ji i i Y z X z a Y z b z Y z − = = + + ∑ (4.3) Se puede llegar a una formulación más compacta que la reflejada por la ecuación 4.2 definiendo los vectores formados por las señales en cada nodo en los instantes k y k-1 según 4.4: 1 2 ( ) ( ) ( ) ( ) X m x k x k k x k = ⋮ 1 2 ( ) ( ) ( ) ( ) Y m y k y k k y k = ⋮ 1 2 ( 1) ( 1) ( 1) ( 1) Y m y k y k k y k − − − = − ⋮ (4.4)
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 95 Pudiéndose escribir: ( ) ( ) ( ) ( 1) Y X FY GY k k k k = + + − (4.5) donde: X(k), Y(k) e Y(k-1) son los vectores mx1definidos en 4.4. F es una matriz mxm formada por los coeficientes de las ramas sin retardo que llegan al nudo, esto es a ji . Estos coeficientes mayoritariamente serán cero serán cero con alguna excepción. G es una matriz mxm formada por los coeficientes de las ramas con retardo que llegan al nudo, esto es b ji . La mayoría de estos serán cero y el resto toma valor unidad. Si se aplica la transformada Z a la ecuación 4.5 y se tienen los vectores: 1 2 ( ) ( ) ( ) ( ) X m X z X z z X z = ⋮ 1 2 ( ) ( ) ( ) ( ) Y m Y z Y z z Y z = ⋮ (4.6) resulta: 1 ( ) ( ) ( ) ( ) Y X FY GY z z z z z − = + + (4.7) Mediante esta descripción se pueden representar todas las estructuras posibles de sistemas MIMO y SISO. En esta tesis doctoral solo se trabaja con sistemas SISO siendo más práctico utilizar una descripción más general dada por las ecuaciones 4.8 y 4.9: ( ) ( ) ( ) ( 1) Y E FY GY k x k k k = + + − (4.8) 1 ( ) ( ) ( ) ( ) Y E FY GY z x z z z z − = + + (4.9) donde la matriz E de dimensión mx1 con un 1 únicamente en la fila que corresponde al índice del nodo en el que esté aplicada la entrada x(k) en la ecuación 4.8 y su transformada X(z) en 4.9. La introducción de la matriz E en las ecuaciones precedentes solo tiene un sentido práctico para el cálculo matricial, ya que la utilización de esta matriz permite que el mismo bucle de programación se utilice para distintas entradas que se puedan aplicar a cada nodo del sistema solo cambiando la entrada x(k) y el uno de la fila correspondiente donde se aplica en la matriz/vector E. Con múltiples entradas a los nodos la matriz E se convierte en diagonal con 1 en aquellas filas donde se aplica entrada. Las ecuaciones 4.9 y 4.10 se convierten en: ( ) ( ) ( ) ( 1) Y EX FY GY k k k k = + + − (4.10) 1 ( ) ( ) ( ) ( ) Y EX FY GY z z z z z − = + + (4.11)
96 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva Para que la señal en un nudo en el instante k se pueda calcular con la relación 4.11 es necesario que esta señal dependa del valor de las señales en otros nodos que ya se hayan calculado, de no ser así el sistema no será computable y no se podrá programar. Por ello, es necesaria una ordenación de nodos que garantice la computación. La ordenación no es única. Crochiere propone el siguiente algoritmo de ordenación: 1. Enumerar primero los nodos con entradas de retardos, es decir, a la salida de los elementos de retardo o a ramas conectadas a nudos fuente. Para calcular la señal en estos nodos solo se necesitan los valores actuales de las señales externas aplicadas a estos nodos y las señales de los nodos internos en el instante (k-1). A estos nodos se les llama de clase 1. 2. Enumerar los nodos conectados solo a ramas que proceden de nudos fuente, ramas con elementos de retardo (salida con elementos de retardo) o ramas conectadas a nodos numerados en el paso anterior (nodos de clase 1). A estos nodos se les llama de clase 2. En este nuevo grupo de nodos a numerar, las señales dependen de señales externas en el instante k y de señales en el instante k-1 o señales obtenidas en el paso 1. 3. Repetir el paso 2 hasta que todos los nudos estén numerados. El único caso que no se puede representar con este sistema se produce cuando hay algún bucle sin retardo, pero esto no ocurre en la realidad. Para comprender el procedimiento de obtención de la representación de sistemas discretos mediante las matrices EFG se presenta el siguiente ejemplo: b 0 1 b b 2 b n -a 1 2 -a n -a -1 z z -1 -1 z x(k) y(k) 1 1 2 3 45 Figura 4.2: Estructura 1D con numeración de nodos
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 97 Para obtener la representación EFG de este sistema en el primer paso se enumeran los nodos 1, 2 y 3 ya que son nodos de salida de las ramas de retardo, cuya señal en el instante k se puede calcular directamente ya que solo necesita de las señales en otros nodos en el instante k-1. El nodo 4 no es de clase 1 por que no solo llega la entrada. En el segundo paso se enumera el nodo 4 ya que a el llega la entrada en el instante k y las señales de los nodos ya numerados en el paso 1. En el tercer paso se enumera el nodo 5 y último que además es la salida del sistema. Con esta numeración de nodos resulta: 1 4 ( ) ( 1) y k y k = − (4.12) 2 1 ( ) ( 1) y k y k = − (4.13) 3 2 ( ) ( 1) y k y k = − (4.14) 4 1 1 2 2 3 3 ( ) ( ) ( ) ( ) ( ) y k a y k a y k a y k x k = − − − + (4.15) 5 1 1 2 2 3 3 0 4 ( ) ( ) ( ) ( ) ( ) y k b y k b y k b y k b y k = + + + (4.16) Este sistema de ecuaciones en diferencias es computable y representa completamente la estructura interna del sistema. Este sistema de ecuaciones se puede escribir según el sistema de representación matricial EFG: 00000 00000 00000 0 0 0 1 0 00000 E = 1 2 3 1 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F = a a a b b b b − − − 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 00000 00000 G = (4.17) Estas matrices pueden ser calculadas directamente sin necesidad de escribir primero las ecuaciones que describen el comportamiento del sistema, siempre que se hayan numerado correctamente los nodos. 4.2.1.- Obtención directa de las matrices EFG A partir de la estructura se puede seguir el siguiente procedimiento: La matriz E es muy simple, ya que es una matriz diagonal con un uno en la fila correspondiente con el nodo o nodos donde se aplica la entrada o entradas; en nuestro ejemplo, en la fila 4. La matriz G realiza la actualización de los registros internos del sistema. Esta descripción supone que en cada instante k primero se actualizan los nodos salidas de los elementos de retardo (gobernados por la matriz G) y después se realizan los cálculos en los nodos suma (gobernados por la matriz F). Por ello la matriz G es una matriz todo ceros excepto en la fila 1 columna 4 que corresponde con la rama de retardo y transmitancia b ji con final en el nodo 1 y comienzo en el 4; la fila 2 columna 1, que corresponde con la rama de retardo con final en el nodo 2 y comienzo en el 1 y la fila 3 columna 2 corresponde a la última
98 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva rama de retardo. Por ello los coeficientes b ji de la ecuación 4.2 corresponden en la matriz G con la filas j que representan los nodos finales de las ramas de retardo y las columna i o nodos origen de las ramas de retardo. La matriz F es la que gobierna los cálculos internos del sistema. Almacena los coeficientes a ji de la ecuación 4.2 y como en el caso de la matriz G se almacenan en las filas j y en las columnas i de la matriz. Dicho de otro modo, se van considerando todas las ramas sin retardo y se introduce en la matriz, la transmitancia en la fila con índice el final de la rama, nodo j y columna el comienzo del la rama, nodo i. De esta forma, tanto los coeficientes a ji como los b ji corresponden con las entradas en las filas j y columnas i de las matrices F y G respectivamente. La matriz F será triangular inferior (no hay ramas de conexión de un nodo consigo mismo) de la forma: 1 1 1 0 0 0 0 0 0 0 0 0 0 F = j ji m m a a a a ⋯ ⋯ ⋯ ⋯ ⋮ ⋱ ⋮ ⋱ ⋮ ⋮ ⋯ ⋯ ⋮ ⋮ ⋮ ⋯ ⋮ ⋱ ⋮ ⋮ ⋯ ⋯ (4.18) Las matrices E, F y G son matrices dispersas, susceptibles de utilización de algoritmos eficientes para resolver las ecuaciones matriciales en el tiempo y en el dominio transformado z. 4.2.2.- Función de transferencia y representación EFG En un sistema discreto de múltiples entradas y salidas, la relación entrada-salida viene determinada por: ( ) ( ) ( ) Y H X z z z = (4.19) Los vectores Y(z) y X(z) están definidos en la relación 4.6 y H(z) es la matriz de transferencia de dimensión mxm entre las señales de cada nodo fila y las señales de cada nodo columna. Por tanto despejando de la ecuación 4.12 se obtiene: 1 1 ( ) ( ) H I F Gz z − − = − − (4.20) Los elementos de H(z), H ji describen la función de transferencia del nodo i al j esto es: ( ) ( ) 0 1,2,..., ( ) j ji i i Y z H X z con i m i j X z = = = = (4.21) En el nudo j se verifica:
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 99 1 ( ) ( ) ( ) m j ji i i Y z H z X z = = ∑ (4.22) Se observa que la representación EFG de un sistema discreto de orden n incrementa el número de ecuaciones respecto a la representación del mismo en variables de estado. Si el número de nodos de una estructura del sistema es m en la representación EFG el número de ecuaciones es m con m ≥ n. 4.2.3.- Consideraciones sobre la descripción EFG En primer lugar conviene destacar que esta descripción es válida para describir cualquier sistema discreto mediante ecuaciones en diferencia. Representa completamente el algoritmo de generación propuesto por la estructura, a diferencia de la descripción en espacio de estados. Por tanto permite analizar la estructura concreta que se presente. Permite homogeneizar todos los algoritmos que representan los sistemas, a diferencia de la descripción mediante las ecuaciones en diferencia directamente. Propone una descripción matricial que permite la utilización de toda la potencia del análisis matricial para el análisis de los sistemas discretos. Además como las matrices son dispersas se puede utilizar algoritmos eficientes para el cálculo, lo cual alivia el incremento de operaciones frente a la descripción en espacio de estados. A diferencia de la descripción en espacio de estados que distingue la ecuación del estado con la ecuación de la salida, esta representación trata por separado la entrada, el estado actual y el estado anterior. Por ello las primeras ecuaciones son de actualización de los estados con el valor del estado anterior. A nivel práctico es necesario disponer de dos vectores, para Y(k) y para Y(k – 1). También, a nivel práctico, para un sistema concreto, se puede prescindir de la matriz E creando el vector X(k). En esta descripción no hay un tratamiento diferente para el/los nodos de salida. Todos los nodos son igualmente considerados, siendo responsabilidad del programador la interpretación de cada uno. Incluso puede ser posible no utilizar el nodo de salida para los cálculos, ya que lógicamente no se va a utilizar para la actualización de ningún otro nodo. Esta descripción, por las características arriba comentadas, es muy útil para el análisis de los problemas de cuantificación en estructuras que es el principal objetivo de esta tesis doctoral, y más concretamente los ciclos límite. Esto es así porque se tiene acceso a la información en todos los nodos, así como es muy fácil la programación del algoritmo para calcular la salida en cualquier nodo con la entrada en cualquier otro (muy útil en el análisis de la potencia de ruido de cuantificación a la salida del sistema). El único inconveniente es el incremento de ecuaciones con respecto a la descripción en espacio de estados. De todas formas, esto no es demasiado problema cuando se utiliza un
100 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva ordenador para realizar los cálculos. Es precisamente un objetivo importante de esta tesis la indicación de procedimientos para el análisis sistemático de los problemas de cuantificación en la estructura de reguladores digitales. Análisis que principalmente será realizado mediante ordenador. 4.2.4.- Aplicación a un sistema discreto de control A continuación la figura 4.3 muestra un ejemplo de representación de un sistema de control en EFG. 1 2 1 2 2(0.3679 0.2642 ) 1 1.3679 0.3679 z z z z − − − − + − + 1 2 1 0.7 0.7 0.1 1 z z z − − − − + − Figura 4.3: Sistema discreto de control equivalente Si se elige la estructura 1D para el regulador y 1D para la planta obtenemos un diagrama de flujos que se muestra en la figura 4.4: 1p b b 2p -a 1p 2p -a -1 z z -1 y(k) 1 1 2 37 6 5 1 r(k) -1 z z -1 1r -a 2r b b 1r 0r be(k) 4 8 1 1 1 1 1 1 1 -1 K1 Figura 4.4: Diagrama de flujos del sistema de control Se han numerado los nodos siguiendo las reglas establecidas para obtener la representación EFG. Los coeficientes y las ecuaciones en diferencia son: % # Coeficientes*** f76 = b 0r = 0.7; f87 = K = 2; f64 = -a 0r = 1; f74 = b 1r = - 0.7;
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 101 f75 = b 2r = 0.1; f81 = -a 1p = 1.3679; f82 = -a 2p = -0.3679; f31 = b 1p = 0.3679; f32 = b 2p = 0.2642; f63 = -1; % # Ecuaciones**** y1[k]= +1*y8[k-1] y2[k]= +1*y1[k-1] y3[k]= +f31*y1[k] +f32*y2[k] y4[k]= +1*y6[k-1] y5[k]= +1*y4[k-1] y6[k]= +1*x6[k] +f63*y3[k] +f64*y4[k] y7[k]= +f74*y4[k] +f75*y5[k] +f76*y6[k] y8[k]= +f81*y1[k] +f82*y2[k] +f87*y7[k] Para obtener las matrices EFG ordenamos los coeficientes de la siguiente forma: % # Coeficientes*** f76=0.7; f87=2; f64=1; f74=-0.7; f75=0.1; f81=1.3679; f82=-0.3679; f31=0.3679; f32=0.2642; f63=-1; Ediag=[0 0 0 0 0 1 0 0 ]; Ffilas=[3 3 6 6 7 7 7 8 8 8 ]; Fcols=[1 2 3 4 4 5 6 1 2 7 ]; Fvalores=[0.3679 0.2642 -1 1 -0.7 0.1 0.7 1.3679 -0.3679 2 ]; Fsvalores=[f76 f87 f64 f74 f75 f81 f82 f31 f32 f63 ]; Gfilas=[1 2 4 5 ]; Gcols=[8 1 6 4 ]; Gvalores=[1 1 1 1 ]; Gsvalores=[1 1 1 1 ]; Salidas=[3 7 ];
102 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva Las matrices que se obtienen son: 00000000 00000000 00000000 00000000 00000000 00000100 00000000 00000000 E = 00000000 0000000 F= 0 0.3679 0.2642 0 0 0 0 0 0 000000 0 0 00000000 0 0 -1 1 0 0 0 0 0 0 0 -0.7 0.1 0.7 0 0 1.3679 -0.3679 0 0 0 0 2 0 00000001 10000000 00000000 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 00000000 00000000 G = Salidas = [3 7 ] 4.3.- Otras representaciones La representación matricial de Crochiere (EFG) tiene el inconveniente de que no se pueden aplicar las transformaciones de similitud que son muy útiles en la representación en variables de estado para obtener otras estructuras. Para salvar esta dificultad se puede utilizar la representación de Chan [CHA78]:
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 103 1 1 ( 1) ( ) ( ) ( ) v v Ψ Ψ Ψ q q k k y k x k − + = ⋯ (4.23) donde 1 1 Ψ Ψ Ψ q q− ⋯ son matrices representativas de la aritmética y operaciones de cuantificación en la estructura, y(k) y x(k) son la salida y la entrada del sistema y v(k) las salidas de las ramas de elementos de retardo. Esta representación presenta las siguientes características: 1. Cada coeficiente (precisión finita) de una determinada estructura aparece en una matriz Ψ i solo una vez. En el resto de las matrices los elementos son ceros o unos. 2. Los nodos intermedios (no almacenadores) de una estructura se representan por vectores: 1 1 2 2 1 1 1 2 ( ) ( ) ; ( ) ( ) ( ) ( ) ( ) v gΨ g Ψ g g Ψ g q q q k k k k k k x k − − − = = = ⋯ (4.24) Esta característica es importante porque entre cada nodo de estado v y cada nodo intermedio se puede escalar para satisfacer el rango dinámico. El concepto de prioridad para las operaciones (multiplicaciones, sumas y cuantificaciones) se mantiene con esta descripción. Esto viene reflejado por el orden i de las matrices Ψ i Existe un procedimiento para, a partir del diagrama de flujos de una de las estructuras estudiadas en la sección 2.5, obtener la representación de Chan [CHA]. La representación obtenida no es única debido a la numeración arbitraria de los nodos. Lo mismo sucede con la representación matricial de Crochiere. Paul Poroney [MOR83] describe el método para obtener estructuras nuevas a partir de la representación de Chan mediante transformaciones de similitud. ' 1 1 ... Ψ=PΨP i i para i q − = (4.25) La representación de Chan es muy general y se puede representar cualquier diagrama de flujos; pero presenta problemas cuando se realizan transformaciones que puedan dar lugar a estructuras en las que la salida en un instante k depende de los valores de los nodos en el mismo instante. Para poder obtener la representación de Chan es necesario realizar transformaciones a veces laboriosas, por lo que, si el nodo de salida es una variable de estado es más adecuado utilizar la llamada representación en el espacio de estados modificada: 1 1 ( ) ( 1) ( ) ( 1) ( ) v vΨ Ψ Ψ q q k k y k y k x k − + = + ⋯ (4.26) en la que el vector v y el escalar y son estados de la estructura. En este caso no importa como se transforman las matrices puesto que la salida es un estado. Esta representación es completamente general para estructuras de reguladores de la forma:
110 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva Esta ecuación de estado determina la dinámica del sistema realimentado en el que x(k) es de dimensión (n+m) x1, la matriz A es de dimensión (n+m)x(n+m). Los n valores de x(k) son continuos. Cuando se procede a la implementación del regulador con una de las estructuras descritas en el capítulo 2, las variables internas sean o no variables de estado, la entrada y la salida en regulador sufren el proceso de cuantificación y se almacenan en registros con un determinado número de bits como se indica en el apartado 3.6.1 en filtros digitales. Si el regulador se implementa con la estructura 1D: [ ] 1 10 1 0 1 1 0 ( ) 11 r r r C I A B mi mi m i R r m m i ni i bz b b z b z G z z D a z a z a z − − − −= − − − = + +⋅⋅⋅+ = − + = = + +⋅⋅⋅+ + ∑ ∑ (4.36) Podemos escribir: ( 1) ( 1) ( ) 1, 2, ... , 1 ri r i x k x k i m + + = = − (4.37) 1 ( ) 1 ( 1) ( ( ) ( ( )) + j m b b rm j r j j x k Q a x k Q e k = − = + = − ∑ (4.38) ( 1) 0 1 ( ) ( ( ) ( ( 1)) + j m b b j rj rm j u k Q b x k Q b x k = − = = + ∑ (4.39) ( ) [ 1, 1] ( ) [ 1, 1] ( ) [ 1, 1] r x k e k y u k∈ − ∈ − ∈ − (4.40) El proceso de cuantificación provoca que las variables en los nodos internos, la entrada y la salida del regulador, sean múltiplos enteros del escalón de cuantificación q. Si se normaliza al escalón de cuantificación (q = 1), y así lo consideraremos en adelante, y sin pérdida de generalidad, se verificará que las variables de estado, las de los nodos internos, la entrada y salida sean números enteros múltiplos del escalón de cuantificación. En estas condiciones las ecuaciones del regulador constituyen un cell mapping system. Las ecuaciones del sistema realimentado son: ( 1) 0 1 ( 1) ( ) ( ( ) ( ( 1)) x A x B + j m b b p p p b j rj rm j k k Q b x k Q b x k = − = + = + + ∑ (4.41) ( 1) ( 1) ( ) 1, 2, ... , 1 ri r i x k x k i m + + = = − (4.42) 1 ( ) 1 ( 1) ( ( ) ( ( ) ( )) + j m b b rm j r j j x k Q a x k Q r k y k = − = + = − − ∑ (4.43) y(k) = C p x p (k) (4.44) Se observa que las variables de estado de la planta ( ) p x n k ∈ℜ y las del regulador serán múltiplos enteros del escalón de cuantificación q, que si se normaliza (q = 1), x r (k) será
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 111 pertenecerá a los enteros, de forma que un sistema de control con el regulador digital implementado con precisión finita se puede modelar con un mixed mapping. En general, un mixed mapping system se representa por las siguientes ecuaciones: ( ) ( 1) ( ) ( ) ( 1) ( ) x x G w x w H w k k k k k k + = + = (4.45) donde: ( ) ( ) x w G C n m n m m n k k Z x Z Z x ∈ℜ ∈ ∈ℜ ∈ ℜ ( 1) ( ) p M p k k + = (4.46) con: ( ) ( ) ( ) x G p = M w H k kk = (4.47) La matriz M es de dimensión (n+m) x (n+m). Esta ecuación de estado determina la dinámica del sistema en el que el vector de estados es de dimensión (n+m) x1. Los n valores de x(k) son continuos y los m restantes son discretos (enteros). A este espacio de estados se le denomina espacio de estados mixto o bien variables de estado mixtas. Por tanto un sistema de control con el regulador digital implementado con precisión finita es un sistema dinámico cuya evolución es representable en un mapa multidimensional mixto de comportamiento no lineal en los que encontrar la solución analítica en la mayoría de ellos es imposible. Estos sistemas todavía se encuentran huérfanos de teoría. Uno de los objetivos más importantes al analizar la dinámica de estos sistemas es describir los puntos fijos, o zonas estables en el espacio de estados (independientes del tiempo) hacia donde tienden las variables de estado cuando el tiempo tiende a infinito. La Dinámica de sistemas y la Teoría del Caos definen cuatro tipos zonas o puntos fijos llamados atractores que actúan de forma que cualquier estado cercano al atractor acabe en él a medida que evoluciona. En un sistema dinámico continuo con dinámica f(t,•), el atractor Λ es un subconjunto del espacio de estados tal que: a) Existe un entono de Λ, llamado cuenca de atracción al que converge cualquier sistema abierto que contenga a Λ. b) ( , )f t Λ ⊃ Λ para t suficientemente grande. Se definen cuatro tipos de atractores: 1. Punto fijo: Es un punto del espacio de estados al que tiende el sistema y una vez allí permanece a lo largo del tiempo.
112 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 2. Ciclo límite: Es una órbita periódica a la que tienden las trayectorias producidas por la evolución de los estados en el tiempo y que tienden a juntarse en la órbita. 3. Toro límite: Son trayectorias cuasiperiódicas que nunca se cierran y están gobernadas por dos o más frecuencias que forman una fracción irracional. 4. Atractor extraño: Un atractor es extraño si la dinámica del sistema es caótica de forma que las trayectorias divergen exponencialmente a medida que pasa el tiempo pero permanecen en un espacio de estados acotado. En los sistemas discretos de control en los que la dinámica se establece en un espacio de estados mixto es posible la existencia de ciclos límite y de atractores extraños si el sistema cumple unas determinadas condiciones [USH87]; pero no es posible la existencia de toros límite ya que en estos sistemas no se puede cumplir la condición que hacen posible su existencia. Un comportamiento caótico que se produce cuando pequeñas variaciones en los estados de la planta o en los estados del regulador provocan grandes variaciones en la variable de salida y en los estados del sistema. Todo lo comentado en este punto se extiende a sistemas MIMO sin dificultad. El comportamiento caótico se ha observado de forma experimental en el sistema de control estudiado en esta tesis doctoral cuando se implementa el regulador con un número pequeño de bits. Dada la dificultad de la identificación y caracterización analítica de atractores en estos sistemas se ha desarrollado un algoritmo de búsqueda y caracterización de atractores simples que junto al programa de simulación nos permitirá obtener sus características. 4.5.2.- Algoritmo de búsqueda exhaustiva La filosofía utilizada para la detección de ciclos límite o atractores en sistemas de control digital ante entrada nula utilizada en esta tesis doctoral es semejante y a la vez diferente a la utilizada en el filtrado digital y se basa en realizar la detección de los mismos probando vectores de estado inicial (V test ) en el regulador ante entrada de referencia nula y nulo el vector de estado de la planta y dejarlos evolucionar hasta que el vector de estado alcance el valor cero o se repita el vector de estado inicial. En el caso del control digital en la mayoría de las ocasiones el vector de estado global se compone de la unión de los estados del regulador que están cuantificados junto con el vector de estados del sistema a controlar (planta) que no lo están. Este enfoque ha sido empleado por los algoritmos de búsqueda propuestos por investigadores en el campo del filtrado digital [BAU91], tal como se ha indicado en el capítulo 3. El inconveniente de este enfoque radica en que al aplicar un vector de estado inicial, el sistema evoluciona en primer lugar con variaciones en el vector de estado pertenecientes a un régimen transitorio, llegando tras un número indeterminado de iteraciones al régimen permanente. El número de iteraciones hasta llegar al régimen permanente dependerá del estado inicial, del tipo de sistema (no lineal) y de la estructura empleada. Cuando el proceso de búsqueda de un ciclo límite en sistemas de control se realiza mediante comparación de V test con el vector de estado actual, perteneciendo el primero al transitorio, la detección será imposible. Para iniciar el proceso de detección deberemos
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 113 asegurar que el sistema está en el régimen permanente. La aplicación de este procedimiento de detección en sistemas de control digital tropieza con varias peculiaridades: • El sistema de control se comporta como una máquina de estados de forma que a partir de un determinado estado inicial después de k iteraciones se llega al mismo estado si el proceso se vuelve a repetir. El problema es que no se pueden reproducir debido al carácter teóricamente continuo de parte que no se cuantifica. • Del mismo modo que en filtros digitales, los ciclos límite son de pequeña amplitud (granulares) puesto que el proceso de cuantificación aporta una pequeña cantidad de energía. • Como ya se ha comentado es posible la existencia de atractores caóticos. Si el sistema no evoluciona a cero ni a un ciclo límite, puede evolucionar hacia un atractor de este tipo pero en todo caso estará confinada a una región del espacio de estados. • No se dispone de cotas teóricas de los posibles ciclos límite como sucede en fíltros digitales y por tanto el número de iteraciones máximas a esperar hasta que se repita el estado si estamos en un ciclo límite. Es más, en teoría (precisión infinita en los estados de la planta) un estado ya no se volverá a repetir. El algoritmo de búsqueda exhaustiva propuesto en esta tesis doctoral consigue realizar la búsqueda y análisis de los ciclos límite en los que puede engancharse un sistema de control digital independientemente del tipo de estructura, tipo de cuantificación y orden del sistema. Se parte representando el sistema de control mediante el sistema de ecuaciones en diferencias que lo define según representación EFG, las cuales se procesarán para cada uno de los posibles vectores de estado inicial del regulador con entrada nula y aritmética de precisión finita en punto fijo hasta detectar la presencia de un ciclo límite o el estado nulo. La nomenclatura utilizada en el algoritmo se detalla a continuación: b: Número de bits. q = 2 -b+1 : Escalón de cuantificación. ℓ : Número de registros internos del regulador. { } ℓ Zx i ∈=x : Vector de estado normalizado respecto al escalón de cuantificación q. { } 1 / 1, 2 S x x b i i − ∞ = = ∀ = ⋯: Conjunto total de vectores iniciales. S: Conjunto de vectores iniciales de prueba. j O : Conjunto de vectores que forman la órbita del ciclo límite j. ∪ jj OO = : Conjunto de vectores que forman la órbita de los ciclos límite detectados. { } { } ℓ⋯ ℓ ,,2,1ixmaxM/ZM iii =∀=∈= ∈Ox M.Cota práctica calculada, normalizada con respecto q. ( ) j y : Valor absoluto de la salida máxima del sistema en el ciclo límite j. ( ) { } j j ymaxY = : Valor absoluto de la salida máxima del sistema en los ciclos límite detectados.
114 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva El diagrama de flujos general del algoritmo se muestra en la figura 4.12: Inicio Sistema discreto de control definido por sus ecuaciones en diferencias Obtención de Ts y Twd Tipo de cuantificación Extraer el primer vector de S ¿Se han probado todos los vectores de S? Detección de ciclos límite Extraer el siguiente vector de S Generar resultados Fin No Si Filtrar ciclos límite Figura 4.12: Diagrama de flujo del algoritmo de búsqueda exhaustiva. El número de vectores de estado iniciales de prueba es función del número de estados cuantificados y del número de bits y en principio nos planteamos una búsqueda exhaustiva total probando todos los vectores de estado del regulador. Como se ha comprobado en el algoritmo de búsqueda, será necesario generar cada uno de los vectores iniciales a probar. Los vectores de prueba se aplicarán en orden ascendente a su norma infinita y dentro de cada norma ordenados igual que en un “cuentakilómetros”. De este modo se probarán todos los vectores de estado posibles en el regulador digital esta forma en todo momento dado un vector de estado siempre se conocerá cual es el vector siguiente a probar y cuales son los vectores ya
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 115 probados. Por ejemplo, considerando el dígito de la izquierda como el menos significativo y expresados como múltiplos enteros del intervalo de cuantificación, se obtiene: Vector Estado V1 V2 V3 V4 ...... V26 V27 V28 V29 -1 -1 -1 0 -1 -1 1 -1 -1 -1 0 -1 ............. 1 1 1 -2 -2 -2 -1 -2 -2 0 -2 -2 ............ donde V1 es anterior a V2 este anterior a V3 ... y así sucesivamente. Antes de generar resultados de la búsqueda, existe la posibilidad de eliminar los ciclos límite cuyo impacto sobre la variable a controlar sean de magnitud insignificante desde el punto de vista del control. Este criterio será fijado por el diseñador. El algoritmo propuesto, además de la detección de los diferentes ciclos, obtendrá sus características, de cuyo análisis el diseñador podrá valorar la importancia de los mismos y el efecto que producen sobre la variable a controlar. A partir de estos datos, el algoritmo obtendrá la amplitud máxima en los registros internos y la amplitud máxima de salida de los ciclos límite detectados. La información que se obtiene del análisis es: 1. Número de ciclos límite detectados. 2. Vectores de estado pertenecientes a cada uno de los ciclos límite. 3. Valor de salida para cada uno de los estados. 4. Amplitudes y periodos de los ciclos límite en la variable controlada. 5. Número de vectores de estado iniciales probados que se enganchan en cada ciclo límite. 6. Periodo de cada ciclo límite. 7. Tiempo aproximado de procesado. 4.5.3.- Detección de ciclos límite Para tener una idea de cómo plantear la detección de ciclos límite en sistemas de control digital se pone como ejemplo la evolución de la salida del sistema de la figura 4.3 hacia un ciclo límite cuando se cuantifican los coeficientes y las operaciones en el regulador. La respuesta se ha obtenido por simulación con computador. Se observa en la figura 4.13 a que la salida del sistema evoluciona de forma que tiene un periodo transitorio y a partir de un determinado valor de k la respuesta no tiende a cero como lo hace el sistema de control ideal sino que oscila en un ciclo límite de periodo 5. En la figura 4.11 b se ha representado en un plano de fase las variables de estado de la planta (x1, x2) y en ella se observa la trayectoria seguida hasta un polígono atractor de 5 lados (ciclo límite).
116 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 0 20 40 60 80 100 120 140 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 k=1 K=2 k=2 k=3 k=4 k=5 k=6 k=7 k=8 (a) (b) Figura 4.13: Repuesta ante entrada pulso del sistema de la figura 4.3 cuantificando con 6 bits, TC2 y saturación. En la tabla 4.1 se muestra la evolución de las estados del sistema de control (x1, x2, x4 y x5). Los dos primeros corresponden a los de la planta y los otros dos al regulador. Los de la planta (x1, x2) son estados continuos (precisión infinita) y los del regulador (x4 y x5) son números enteros múltiplos del escalón de cuantificación. Se observa que en las primeras iteraciones en sistema evoluciona en un régimen tipo transitorio y a partir de la iteración 19 (k = 19) el estado comienza a repetirse cada 5 iteraciones salvo diferencias en las últimas cifras decimales de los estados continuos. Esta diferencia va disminuyendo rápidamente a medida que aumenta k. A partir de la iteración 40 la diferencia ya no se aprecia y se sitúa por debajo del decimal 16. La detección del ciclo límite que aparece en este ejemplo se basa en ir comparando con un vector de prueba Vtest los siguientes estados que van apareciendo y comprobar si son cero o son “iguales” al vector de prueba a partir de una determinada iteración. Para poder detectar el ciclo limite deberemos asegurarnos que cuando comience la comparación de vectores de estado estemos ya en ciclo límite (ya se ha pasado el régimen transitorio). En el algoritmo que proponemos como solución para la detección es dejar evolucionar el sistema un número determinado de iteraciones sin realizar comparaciones hasta conseguir que el sistema alcance el régimen permanente. Una vez en esta situación se actualizará el vector de prueba Vtest, asignándole el vector de estado actual, y se procederá a comparar en cada iteración el vector de estados con el nuevo Vtest. Puesto que se encuentra en régimen permanente, el sistema evolucionará hacia cero (ausencia de ciclo límite) o repetirá una secuencia de estados (ciclo límite). Como se deduce de lo expuesto, el algoritmo no trata de comprobar si un determinado vector de estado inicial se encuentra dentro de un ciclo límite, sino comprobar el posible ciclo límite al que evoluciona ese vector de estado inicial. Aplicando el método expuesto al ejemplo anterior y actualizando Vtest cada 5 iteraciones se detectará el ciclo límite si despreciamos las últimas cifras decimales de los estados continuos. La figura 4.14 representa el proceso llevado a cabo para la detección.
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 117 Estados x1 x2 x4 x5 29 -0.0555600609972838 0.0188636558921343 7 7 k=0 0 0 0 0 30 -0.0829405464409007 -0.0555600609972838 7 7 1 0.4375 0 11 0 31 -0.0305138270356073 -0.0829405464409007 8 8 2 0.28595625 0.4375 5 11 32 0.0512739630336001 -0.0305138270356073 9 8 3 -0.0822966956250002 0.28595625 -3 17 33 0.0188636910000615 0.0512739630336001 8 7 4 -0.280276954320438 -0.0822966956250002 -5 15 34 -0.0555600480810774 0.0188636910000615 7 7 5 -0.290613891494489 -0.280276954320438 -2 9 35 -0.0829405416890283 -0.0555600480810774 7 7 6 -0.106916850680823 -0.290613891494489 3 4 36 -0.0305138252873935 -0.0829405416890283 8 8 7 0.0231652906345253 -0.106916850680823 6 4 37 0.051273963676768 -0.0305138252873935 9 8 8 0.0710225104244418 0.0231652906345253 6 7 38 0.018863691236683 0.051273963676768 8 7 9 0.026129181585152 0.0710225104244418 4 10 39 -0.0555600479940243 0.018863691236683 7 7 10 -0.0528870740948227 0.026129181585152 3 10 40 -0.0829405416570015 -0.0555600479940243 7 7 11 -0.0819571545594854 -0.0528870740948227 3 8 41 -0.0305138252756108 -0.0829405416570015 8 8 12 -0.0926520371624348 -0.0819571545594854 4 6 42 0.0512739636811028 -0.0305138252756108 9 8 13 -0.0965866844720598 -0.0926520371624348 5 5 43 0.0188636912382778 0.0512739636811028 8 7 14 -0.0980342412172709 -0.0965866844720598 6 6 44 -0.0555600479934376 0.0188636912382778 7 7 15 -0.098566797343834 -0.0980342412172709 7 7 45 -0.0829405416567857 -0.0555600479934376 7 7 16 -0.0362627247427966 -0.098566797343834 8 8 46 -0.0305138252755314 -0.0829405416567857 8 8 17 0.0491589435671251 -0.0362627247427966 9 8 47 0.051273963681132 -0.0305138252755314 9 8 18 0.0180855753383453 0.0491589435671251 8 7 48 0.0188636912382885 0.051273963681132 8 7 19 -0.0558463168330228 0.0180855753383453 7 7 49 -0.0555600479934336 0.0188636912382885 7 7 20 -0.0830458599628691 -0.0558463168330228 7 7 50 -0.0829405416567842 -0.0555600479934336 7 7 21 -0.0305525718803396 -0.0830458599628691 8 8 51 -0.0305138252755308 -0.0829405416567842 8 8 22 0.0512597088052231 -0.0305525718803396 9 8 52 0.0512739636811323 -0.0305138252755308 9 8 23 0.0188584468694416 0.0512597088052231 8 7 53 0.0188636912382886 0.0512739636811323 8 7 24 -0.0555619773967325 0.0188584468694416 7 7 54 -0.0555600479934336 0.0188636912382886 7 7 25 -0.0829412514842579 -0.0555619773967325 7 7 55 -0.0829405416567841 -0.0555600479934336 7 7 26 -0.0305140864210585 -0.0829412514842579 8 8 56 -0.0305138252755308 -0.0829405416567841 8 8 27 0.0512738676056926 -0.0305140864210585 9 8 57 0.0512739636811323 -0.0305138252755308 9 8 28 0.0188636558921343 0.0512738676056926 8 7 58 0.0188636912382886 0.0512739636811323 8 7 59 -0.0555600479934336 0.0188636912382886 7 7 Tabla 4.1: Evolución de los estados 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 vector de estado Iteraciones Vtest TRANSITORIO Actualización de Vtest Ciclo límite de T = 5 Vector = Vtest ciclo límite detectado Figura 4.14: Proceso de detección de un ciclo límite de periodo T = 5 en un sistema de control digital mediante la actualización de Vtest.
118 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva Este procedimiento de detección es semejante al utilizado en filtros digitales [UTR00] y como fácilmente se puede ver, cuando un sistema de control se queda enganchado en un ciclo límite, los estados de la parte continua (planta) oscilarán tomando valores analógicos con un determinado periodo y amplitud, lo mismo sucederá en el regulador cuyos estados estarán enganchados en un ciclo límite del mismo periodo pero tomando valores discretos. Se presentan dos problemas en la detección de ciclos límite en sistemas muestreados de control el primero es semejante al que aparece en filtros digitales mientras que el otro solo sucede en sistemas de control muestreados. El primer problema que surge es cómo determinar el momento en el que el sistema ha alcanzado el régimen permanente, es decir, en que iteración el sistema ha evolucionado a un ciclo límite o ha evolucionado a cero. El modo en que se establece el transitorio y número de iteraciones que dura es variable puesto que el sistema pasa a tener una dinámica no lineal, por tanto la duración y el modo dependen no solo del sistema y de la cuantificación, sino también de la entrada y de las condiciones iniciales en que se encuentre. Por otra parte también es necesario conocer el periodo máximo (Ts) de los posibles ciclos límite a detectar que determina el número máximo de iteraciones que hay que realizar a partir de Vtest. En principio ambos parámetros son desconocidos. Si que serán conocidas las especificaciones de diseño del sistema de control; que si están dadas en el dominio del tiempo, es posible conocer parámetros sobre la duración del transitorio (tiempo de establecimiento) y la pulsación amortiguada del sistema de control ideal, o bien conocido el sistema es posible obtener de forma fácil estos valores. Se pueden producir varios casos generales de respuestas temporales de sistemas de control ya implementados. Se trata de elaborar un algoritmo que sea capaz de detectar posibles ciclos límite en todos los casos que se citan a continuación: Caso 1. Transitorio pequeño, periodo pequeño: Generalmente este es el caso habitual cuando los vectores estado inicial son de poca energía (norma baja) y los polos del sistema se encuentran alejados de la circunferencia de radio unidad. En la figura 4.15 se representa la evolución de un sistema a partir de un estado inicial ante entrada nula de estas características. Figura 4.15: Ciclo límite con transitorio y periodo pequeño. La eficacia en este tipo de ciclos puede mejorarse reduciendo el número de iteraciones iniciales al mínimo y un número de iteraciones máximo de comparación pequeño.
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 119 Caso 2. Transitorio grande y periodo pequeño: Este caso es habitual en sistemas con un margen de estabilidad pequeño (polos cercanos a la circunferencia de radio unidad) y vectores iniciales de prueba con gran energía. Se ha observado que, en ocasiones, a partir de ciertas condiciones iniciales el sistema del ejemplo tiene un comportamiento transitorio raro que poco tiene que ver con el ideal. La figura 4.16 representa gráficamente este comportamiento. El gráfico de la izquierda representa la evolución de la salida y la de la derecha la trayectoria del plano de fase de las variables de estado de la planta. 0 20 40 60 80 100 120 140 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 Figura 4.16: Ciclo límite con transitorio grande y periodo pequeño. Figura 4.17: Ciclo límite con transitorio grande y periodo pequeño. La detección de este tipo de ciclos límite debe mejorarse incrementando el valor del número de iteraciones iniciales. Caso 3. Transitorio pequeño y periodo grande: Este caso es habitual en sistemas con problemas de estabilidad y orden elevado al probar vectores iniciales de poca energía. En las figuras 4.18 y 4.19 se observa esta situación.
126 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva sistema en lazo cerrado), pues se ha observado mediante simulación que la mayoría de ellos tienen un periodo similar. Si el sistema presenta una respuesta transitoria sin oscilaciones (el sistema de control en lazo cerrado tiene todos los polos reales) se toma como valor de TS sustituyendo Twd por Tes Si no se encuentra nada se procede a modificar los parámetros y se realiza una nueva pasada. Si no se ha encontrado ningún ciclo límite se procede a buscar con el siguiente vector de estado. De todo lo expuesto se pueden obtener las siguientes conclusiones: • Se ha propuesto un algoritmo para la detección de ciclos límite en sistemas de control digital ante entrada nula, independiente del tipo de estructura, orden y tipo de cuantificación del regulador. • El algoritmo permite, además de detectar ciclos límite, caracterizarlos (amplitud y periodo). • Necesita unos cálculos previos sobre el sistema (pulsación amortiguada y tiempo de establecimiento) que el algoritmo obtiene de forma automática y posteriormente se adapta al comportamiento de éste en cada caso. • Tiene problemas de rapidez cuando el regulador es de orden elevado o bien cuando se implementa con un número elevado de bits, donde el número de vectores a probar es muy elevado. Tras la ejecución del algoritmo obtenemos la siguiente información: a) Para cada uno de los ciclos límite detectados Vectores de estado pertenecientes al ciclo límite. Salidas del sistema definidas para cada uno de ellos. Periodo. Amplitud máxima. Salida máxima y mínima y amplitud. Representación. En el ejemplo de la figura 4.3: Nodos Estado: = [8 1 6 4 ] Nodos Salidas: = [3 7 ] *** Ciclo límite detectado *** Vector Inicial: = [0 0 -1 -1 ] Vector del ciclo: =[0.0047159 0.012818 6 7 ] T = 5 nIte = 90 Amax = [0.012818 0.012818 7 7 ]
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 127 Amin = [-0.020735 -0.020735 5 5 ] SalMax = [0.0051216 1 ] SalMin = [-0.011298 -1 ] NormaMax = 7 Cota Salidas: = [0.011298 1 ] Cota CL = [0.020735 0.020735 7 7 ] DESARROLLO DEL CICLO LÍMITE Vector Ciclo: = [0.0047159 0.012818 6 7 ] [-0.01389 0.0047159 5 6 ] Sal: [0.0051216 -1 ] [-0.020735 -0.01389 5 5 ] Sal: [-0.0038642 0 ] [-0.0076285 -0.020735 6 5 ] Sal: [-0.011298 1 ] [0.012818 -0.0076285 7 6 ] Sal: [-0.0082847 1 ] [0.0047159 0.012818 6 7 ] Sal: [0.0027005 -1 ] REPRESENTACIÓN DEL CICLO LÍMITE A LA SALIDA 2 4 6 8 10 12 14 16 18 20 -12 -10 -8 -6 -4 -2 0 2 4 x 10 -3 b) Información sobre el regulador y planta analizados ** INFORMACIÓN DE CUANTIFICACIÓN ** Personalizada ** INFORMACIÓN DE CUANTIFICACIÓN ** Personalizada COEF 1: Bits 8 Frac 7 TC2 SAT Acc. Infinito o 'doble' COEF 2: Sin cuantificar COEF 3: Bits 8 Frac 7 TC2 SAT Acc. Infinito o 'doble' COEF 4: Bits 8 Frac 7 TC2 SAT Acc. Infinito o 'doble' COEF 5: Bits 8 Frac 7 TC2 SAT Acc. Infinito o 'doble' COEF 6: Sin cuantificar COEF 7: Sin cuantificar COEF 8: Sin cuantificar
128 Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva COEF 9: Sin cuantificar COEF 10: Sin cuantificar NODO 1: Sin cuantificar NODO 2: Sin cuantificar NODO 3: Sin cuantificar NODO 4: Bits 8 Frac 7 TC2 SAT Acc. Infinito o 'doble' NODO 5: Bits 8 Frac 7 TC2 SAT Acc. Infinito o 'doble' NODO 6: Bits 8 Frac 7 TC2 SAT Acc. Infinito o 'doble' NODO 7: Bits 8 Frac 7 TC2 SAT Acc. Infinito o 'doble' NODO 8: Sin cuantificar Valor mínimo sin cuant: 0.00078125 ** DATOS DE LA BÚSQUEDA** Alg. Búsqueda: 100 Terminado Alg. Detección: 3 Nodos Estado: = [8 1 6 4 ] Nodos Estado Busqueda: = [6 4 ] Nodos Salidas: = [3 7 ] Vector Actual = [127 127 ] Vector Final = [127 127 ] Vectores Probados: 65024 CL detectados : 65014 CL distintos : 2 Tiempo cálculo : 89.058 CICLOS LÍMITE DETECTADOS Amax: = [7 7 ] Amin: = [4 4 ] SalMax: = [0.0051216 1 ] SalMin: = [-0.011303 -1 ] Periodo máximo : 5 Max. Iter : 0 Norma máxima det.: 7 Cota real det. = [7 7 ] Cota Salidas: = [0.011303 1 ] DETALLE DE LOS CICLOS LÍMITE DETECTADOS Vector Ocu V.Inicial MaxIter Periodo Norma [ 0.00471592 0.0128185 6 7 ] 38009 [ 0 0 -1 1] 90 5 7 [ 0.00471571 0.0128179 5 6 ] 4365 [ 0 0 4 -4] 10 5 6
Capítulo 4: Representación de sistemas discretos mediante matrices EFG, entorno de simulación y algoritmo de búsqueda exhaustiva 129 CotaCL CotaSal [ 0.0207351 0.0207351 7 7 ] [ 0.0112982 1 ] [ 0.0207394 0.0207394 6 6 ] [ 0.0113029 1 ] INCIDENCIAS: overflows y underflows NODO 6: 2249 overflows. V. Mínimo: -1.06917 V. Máximo 1.08484 27527 underflows. NODO 7: 1381450 underflows.
Capítulo 5: Desarrollo de la investigación y resultados 131 CAPÍTULO 5 Desarrollo de la investigación y resultados 5.1.- Introducción En este capítulo se presenta el desarrollo de la investigación llevada a cabo, el procedimiento que se propone en esta tesis para el análisis de los efectos de la aritmética de precisión finita en sistemas de control digital con realimentación, así como, la presentación de los resultados. En primer lugar se muestra el sistema de control digital elegido y el método de diseño del regulador que hace cumplir las especificaciones de funcionamiento del sistema. En segundo lugar se analizará el efecto de la cuantificación de los coeficientes del regulador sobre la respuesta temporal. En tercer lugar se presentarán los resultados de la búsqueda de los posibles ciclos que puedan aparecer en cada estructura para cada tipo de cuantificación. En cuarto lugar se mostrara el efecto de la cuantificación de coeficientes y operaciones para cada estructura de implementación y para cada tipo de cuantificación elegida en el regulador comparando con la respuesta ideal (bajo precisión infinita) del sistema, bajo diferentes entradas. 5.2.- Características del sistema de control El sistema elegido para el análisis de los efectos de la precisión finita se presenta en la práctica con cierta frecuencia y corresponde a un sistema de control de posición del eje de un motor. Se trata de un sistema en el que la planta presenta una función de transferencia continua de segundo orden con un polo en el origen y un regulador PID digital. Las especificaciones de diseño son: • Error de posición (e p ) y de velocidad (e v ) cero. • Sobreoscilación (M p ) ≤ 70% ante entrada escalón. • Tiempo de establecimiento (Tes) de 15 seg. 1 ( 1) s s + Figura 5.1: Sistema de control
132 Capítulo 5: Desarrollo de la investigación y resultados El periodo de muestreo elegido es de 1 seg. El sistema se representa en la figura 5.1. Utilizando MATLAB se ha obtenido el equivalente discreto de la planta con el retenedor de orden cero. El sistema discreto de control equivalente se muestra en la figura 5.2: 1 2 1 2 2(0.3679 0.2642 ) 1 1.3679 0.3679 z z z z − − − − + − + 1 2 1 0.7 0.7 0.1 1 z z z − − − − + − Figura 5.2: Equivalente discreto Así mismo, se ha utilizado la aplicación SISOTOOL de MATLAB para ajustar los parámetros del regulador y obtener la respuesta del sistema deseada. La función de transferencia del sistema en lazo cerrado es: 1 2 3 4 1 2 3 4 ( ) 0.5151 0.1452 0.2962 0.0528 ( ) 1 1.8528 1.5906 0.6642 0.0528 Y z z z z z R z z z z z − − − − − − − − − − + =− + − + (5.1) con polos y ceros en lazo cerrado: -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Pole-Zero Map Real Axis Imaginary Axis p 1 = 0. 4762 + 0.6520j p 2 = 0. 4762 - 0.6520j p 3 = 0.7988 p 4 = 0. 1014 z 1 = -0.7181 z 2 = 0. 8273 z 3 = 0.1726 Figura 5.3: Mapa de ceros y polos del sistema de control en lazo cerrado Se observa en la figura que los polos y ceros del sistema en lazo cerrado están dentro del círculo de radio unidad y relativamente alejados de la circunferencia. El sistema de control ideal cumple las especificaciones impuestas. En régimen permanente tanto el error de posición como el de velocidad son cero ya que el sistema es de tipo 2 en la función de transferencia en lazo abierto. Las especificaciones de régimen transitorio también se cumplen como se muestra en la respuesta temporal ante una secuencia de entrada escalón y rampa obtenida con el programa diseñado. Para asegurarnos de la fiabilidad del programa de simulación se han comparado las respuestas temporales obtenidas del sistema ideal con el programa SIMULINK de MATLAB. Las figuras 5.4 y 5.5 muestran
Capítulo 5: Desarrollo de la investigación y resultados 133 estas respuestas en las que el eje de ordenadas representa la señal de salida y el eje de abscisas el tiempo. 0 5 10 15 20 25 30 35 40 45 50 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Figura 5.4: Respuesta ideal al escalón 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 Figura 5.5: Respuesta ideal a la rampa 5.3.- Análisis del efecto de la cuantificación de los coeficientes del regulador En este apartado se va a mostrar el efecto de la cuantificación de los coeficientes del regulador en las características de funcionamiento del sistema de control cuando se implementa con precisión finita en punto fijo. Esta cuantificación modifica como ya se ha comentado en el capítulo tres, la situación de los polos y ceros del sistema en lazo cerrado y, por lo tanto, la respuesta temporal del sistema. Puede incluso afectar a su estabilidad. El análisis se ha hecho con las estructuras típicas escaladas y no escaladas y para cada estructura se ha cuantificado con TC2, RED y TMS, limitación en saturación, con 4, 5, 8 y 16 bits. Hay que hacer notar que en el programa de simulación se va a escoger la opción personalizada con la que solo se cuantifican los coeficientes del regulador (se simula fielmente el comportamiento del regulador digital implementado en un microcontrolador) mientras que los coeficientes de la planta no se cuantifican. La planta en todos los diagramas de simulación se implementa en la estructura 1D por simplicidad ya que el tipo de estructura no influye en la respuesta del sistema puesto que no se cuantifican ni los coeficientes ni las operaciones. 5.3.1.- Análisis de cada estructura con distintos tipos de cuantificación variando el número de bits En primer lugar se procede a obtener la respuesta temporal del sistema de control en lazo cerrado de cada una de las estructuras de implementación del regulador digital con los tres tipos de cuantificación comentados y con 4, 5, 8 y 16 bits ante la entrada de prueba escalón unitario para poder comparar con al respuesta ideal del sistema ante la misma entrada. No se ha optado por comparar la respuesta en frecuencia del sistema ideal frente a la respuesta en frecuencia de los sistemas cuantificados por que los parámetros de diseño del sistema de control son especificaciones sobre la respuesta temporal. Se ha obtenido la respuesta de siete estructuras: estructura de implementación directa, 1D, 1Desc, 2D, 3D, 4D, 1Desc y 4Desc que son objeto de investigación de esta tesis doctoral.
134 Capítulo 5: Desarrollo de la investigación y resultados Las estructuras 1D y 4D se deben de escalar ya que las señales en los nodos del regulador digital (registros en el microcontrolador) se saturan ante la máxima entrada de referencia alcanzándose valores mayores que la unidad. Teniendo en cuenta el regulador diseñado el procedimiento de escalado elegido ha sido el de la respuesta ante un escalón unitario en lazo cerrado. En este caso no es posible escalar con norma l p puesto que el regulador presenta una salida ante un pulso que no es convergente. Para obtener el factor de escala se ha utilizado el programa de simulación con el objeto de obtener la señal en cada uno de los nodos internos del regulador operando en lazo cerrado en el sistema de control ideal ante una entrada escalón unitario. El factor es el máximo valor de las señales en los nodos comentados. El coeficiente de la rama de entrada se divide este valor (esta operación se realiza en la práctica acondicionando la señal de realimentación en la conversión A/D) y las ramas del nodo de salida se multiplican por el. Se comprueba si el nodo de salida no satura; si la salida satura el coeficiente de las ramas que llegan a el se vuelven a escalar con el correspondiente factor y se ajusta la ganancia del amplificador – convertidor D/A. La figura 5.6 muestra el escalado de la estructura 1D del regulador: -0.3679 -1 z z -1 y(k) 11 r(k) -1 z z -1 1 0.1 -0.7 0.7 e(k) 1 1 1 1 1 1 1 -1 12 1.3679 0.3679 0.2642 0.2642 0.36791.3679 2.5 1 -1 1 1 1 1 1 1 0.625 e(k) 0.896 -0.896 0.128 1 -1 z z -1 r(k) 1 1 y(k) -1 z z -1 -0.3679 Figura 5.6: Diagrama de flujo del sistema de control Con el fin de comparar el comportamiento de cada estructura frente a los tipos de cuantificación, se muestran en un solo gráfico las respuestas temporales en varios colores uno para cada tipo de cuantificación. A continuación se muestran mediante graficas de la respuesta al escalón unitario de cada estructura frente a los tipos de cuantificación y número de bits. En el eje de abscisas se representan las iteraciones (k) o también (kT) siendo T = 1 el periodo de muestro y en el eje de ordenadas la variable de salida en los instantes de muestreo.
Capítulo 5: Desarrollo de la investigación y resultados 135 Implementación directa En las figuras 5.7, 5.8 y 5.9 se representan las respuestas del sistema de control en el que el regulador digital se implementa directamente y los coeficientes del regulador se cuantifican con distintos tipos de cuantificación y número de bits. Los colores identifican a las siguientes respuestas: Azul: respuesta ideal. Rojo: respuesta con TCS y saturación. Verde: respuesta con RED y saturación. Azul claro: respuesta con TMS y saturación 0 5 10 15 20 25 30 35 40 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Fig. 5.7: Respuesta al escalón unitario del sistema con implementación directa TC2, RED y TMS – 5 bits frente a la respuesta ideal 0 5 10 15 20 25 30 35 40 45 50 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Fig. 5.8: Respuesta al escalón unitario del sistema con implementación directa, TC2, RED y TMS – 8 bits frente a la respuesta ideal 0 5 10 15 20 25 30 35 40 45 50 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Fig. 5.9: Respuesta al escalón unitario del sistema con implementación directa, TC2 con RED y TMS – 16 bits frente a la respuesta ideal