<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0122-3461</journal-id>
<journal-title><![CDATA[Ingeniería y Desarrollo]]></journal-title>
<abbrev-journal-title><![CDATA[Ing. Desarro.]]></abbrev-journal-title>
<issn>0122-3461</issn>
<publisher>
<publisher-name><![CDATA[Fundación Universidad del Norte]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0122-34612007000200008</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Controlador difuso parametrizable basado en un núcleo de procesamiento reconfigurable descrito en VHDL]]></article-title>
<article-title xml:lang="en"><![CDATA[Parameterizable fuzzy logic controller based on a reconfigurable processing core described using VHDL]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Polo Zabaleta]]></surname>
<given-names><![CDATA[Agenor]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Esmeral Palacio]]></surname>
<given-names><![CDATA[Mario]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Programa Jóvenes Investigadores Colciencias Grupo de Investigación en Robótica y Sistemas Inteligentes ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad del Norte Grupo de Investigación en Robótica y Sistemas Inteligentes ]]></institution>
<addr-line><![CDATA[Barranquilla ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2007</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2007</year>
</pub-date>
<numero>22</numero>
<fpage>107</fpage>
<lpage>123</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0122-34612007000200008&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0122-34612007000200008&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0122-34612007000200008&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este artículo se describe el diseño de un controlador difuso en hardware. Estos dispositivos normalmente son construidos para una planta en específico, lo cual dificulta su rango de aplicabilidad. El desarrollo presentado se basa en un procesador difuso parametrizable, lo que permite su configuración para ser utilizado en el control de distintas plantas sin variar su hardware. En este caso es posible modificar, utilizando reglas tipo Mamdani, la partición del universo de discurso de cada variable de entrada desde 1 hasta 5 conjuntos difusos, con funciones de membresía triangular o -linear para las variables de entrada y conjuntos tipo singleton para la salida, lo cual reduce la complejidad de cálculo del desdifusificador. El desarrollo fue implementado mediante VHDL y sintetizado en un FPGA Cyclone Ep1c20f400c7 de ALTERA. El diseño propuesto tiene una capacidad para dos puertos de entrada y uno de salida, empleando una resolución de 10 bits en cada uno (tanto de entrada como de salida). El artículo presenta los resultados y las conclusiones de la síntesis del diseño, así como una comparación con un controlador PID tradicional.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The article describes the design of a hardware fuzzy controller. These devices are usually builded for an specific plant difficulting its range of applicability. The presented development is based on a parametizable fuzzy processor, it allows being configurated for use in the control of vary plants without hardware variation. In this case is possible to modify, using Mamdani type rules, the partition of the discourse's universe for each input variable from 1 to 5 fuzzy sets, with triangular or -linear membership functions for the input variables and singleton type sets for the output, reducing the calculation complexity of the defuzzyfier. The development was implemented using VHDL and synthesized inside an ALTERA Cyclone Ep1c20f400c7 FPGA device. The proposed design has a capacity for 2 input and 1 output port, using a 10 bits resolution at each one (input and output). The paper shows the results and conclusions about design´s synthesis, as well as a comparison with a traditional PID controller.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Controlador]]></kwd>
<kwd lng="es"><![CDATA[difuso]]></kwd>
<kwd lng="es"><![CDATA[hardware]]></kwd>
<kwd lng="es"><![CDATA[VHDL]]></kwd>
<kwd lng="es"><![CDATA[parametrizable]]></kwd>
<kwd lng="es"><![CDATA[FPGA]]></kwd>
<kwd lng="en"><![CDATA[Controller]]></kwd>
<kwd lng="en"><![CDATA[fuzzy]]></kwd>
<kwd lng="en"><![CDATA[hardware]]></kwd>
<kwd lng="en"><![CDATA[VHDL]]></kwd>
<kwd lng="en"><![CDATA[parameterizable]]></kwd>
<kwd lng="en"><![CDATA[FPGA]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  <font face="verdana" size="2">     <p align="center"><font size="4"><b>Controlador difuso parametrizable basado en un n&uacute;cleo de procesamiento reconfigurable descrito en VHDL</b></font></p> </font>     <p align="center"><font size="3" face="verdana"><b>Parameterizable fuzzy logic controller based on a reconfigurable processing core described using VHDL</b></font></p> <font face="verdana" size="2">    <p align="center">Agenor Polo Zabaleta<sup><a href="#nota1">1</a></sup>, Mario Esmeral Palacio<sup><a href="#nota2">2</a></sup></p>      <p><a name="nota1">1</a> Grupo de Investigaci&oacute;n en Rob&oacute;tica y Sistemas Inteligentes. Programa J&oacute;venes Investigadores Colciencias 2006. Convenio No. 090-2006. <a href="mailto:agenorpz@gmail.com">agenorpz@gmail.com</a></p>     <p><a name="nota2">2</a> Profesor Tiempo Completo, Universidad del Norte (Barranquilla, Colombia). Grupo de Investigaci&oacute;n en Rob&oacute;tica y Sistemas Inteligentes. <a href="mailto:mesmeral@uninorte.edu.co">mesmeral@uninorte.edu.co</a> <br/><i>Correspondencia</i>: Universidad del Norte Km 5 v&iacute;a a Puerto Colombia, Barranquilla (Colombia).</p>      <p><i>Subvenciones y apoyo</i>: Programa J&oacute;venes investigadores Colciencias, Convenio N&deg; 090-2006. </p>     <p><b>Fecha de recepci&oacute;n:</b> 17de noviembre de 2007<br/> <b>Fecha de aceptaci&oacute;n:</b> 13 de diciembre de 2007</p> <hr size="1">     <p><b>Resumen</b></p>     <p><i>En este art&iacute;culo se describe el dise&ntilde;o de un controlador difuso en hardware. Estos dispositivos normalmente son construidos para una planta en espec&iacute;fico, lo cual dificulta su rango de aplicabilidad. El desarrollo presentado se basa en un procesador difuso parametrizable, lo que permite su configuraci&oacute;n para ser utilizado en el control de distintas plantas sin variar su hardware. En este caso es posible modificar, utilizando reglas tipo Mamdani, la partici&oacute;n del universo de discurso de cada variable de entrada desde 1 hasta 5 conjuntos difusos, con funciones de membres&iacute;a triangular o -linear para las variables de entrada y conjuntos tipo singleton para la salida, lo cual reduce la complejidad de c&aacute;lculo del desdifusificador. El desarrollo fue implementado mediante VHDL y sintetizado en un FPGA Cyclone Ep1c20f400c7 de ALTERA. El dise&ntilde;o propuesto tiene una capacidad para dos puertos de entrada y uno de salida, empleando una resoluci&oacute;n de 10 bits en cada uno (tanto de entrada como de salida). El art&iacute;culo presenta los resultados y las conclusiones de la s&iacute;ntesis del dise&ntilde;o, as&iacute; como una comparaci&oacute;n con un controlador PID tradicional. </i></p>      ]]></body>
<body><![CDATA[<p><b>Palabras claves:</b> Controlador, difuso, hardware, VHDL, parametrizable, FPGA.</p> <hr size="1">      <p><b>Abstract</b></p>     <p><i>The article describes the design of a hardware fuzzy controller. These devices are usually builded for an specific plant difficulting its range of applicability. The presented development is based on a parametizable fuzzy processor, it allows being configurated for use in the control of vary plants without hardware variation. In this case is possible to modify, using Mamdani type rules, the partition of the discourse's universe for each input variable from 1 to 5 fuzzy sets, with triangular or -linear membership functions for the input variables and singleton type sets for the output, reducing the calculation complexity of the defuzzyfier. The development was implemented using VHDL and synthesized inside an ALTERA Cyclone Ep1c20f400c7 FPGA device. The proposed design has a capacity for 2 input and 1 output port, using a 10 bits resolution at each one (input and output). The paper shows the results and conclusions about design&#39;s synthesis, as well as a comparison with a traditional PID controller. </i></p>      <p><b>Key words:</b> Controller, fuzzy, hardware, VHDL, parameterizable, FPGA.</p> <hr size="1">       <p><font size="3"><b>1. INTRODUCCI&Oacute;N </b></font></p>      <p>La conveniencia de la utilizaci&oacute;n de l&oacute;gica difusa para resolver distintos problemas de ingenier&iacute;a &#91;<a href="#1">1</a>&#93;&#91;<a href="#2">2</a>&#93; ha motivado el desarrollo de diversos sistemas difusos <i>hardware</i> mediante el uso de HDLs &#91;<a href="#3">3</a>&#93; y la explotaci&oacute;n de las caracter&iacute;sticas de flexibilidad y reconfigurabilidad de los dispositivos de l&oacute;gica programable tipo FPGA, los cuales resultan atractivos como plataforma de dise&ntilde;o de <i>hardware</i> digital de bajo costo.</p>      <p>Entre las aplicaciones m&aacute;s importantes de la l&oacute;gica difusa se encuentra el Control Difuso, y los dispositivos de este tipo muestran su principal fortaleza cuando el proceso es no lineal y/o muy complejo para ser modelado con exactitud &#91;<a href="#1">1</a>&#93;.</p>      <p>Los sistemas de control difuso est&aacute;n basados en reglas y conjuntos difusos, los cuales son utilizados para emular el razonamiento humano. Debido a lo anterior, el &eacute;xito de la estrategia de control depender&aacute; en gran medida del conocimiento que se tenga del proceso, es decir, de que tan bien se conozca el comportamiento de la(s) salida(s) de este &uacute;ltimo ante las distintas condiciones de entrada &#91;<a href="#1">1</a>&#93;. Dicho conocimiento puede provenir ya sea de un modelo din&aacute;mico del proceso o incluso, en algunos casos, de la experiencia.</p>      <p>La base de conocimiento de un controlador difuso normalmente est&aacute; compuesta por una de dos tipos de reglas, a saber: Mamdani o TakagiSugeno. Las primeras se caracterizan porque tanto en el antecedente como en el consecuente de &eacute;stas existen conjuntos difusos; las del segundo tipo incluyen de igual manera conjuntos difusos en el antecedente pero el consecuente es una expresi&oacute;n din&aacute;mica o algebraica dependiente de las variables del proceso.</p>      <p>El sistema dise&ntilde;ado trabaja con base en reglas tipo Mamdani y es un controlador difuso hardware de prop&oacute;sito general, ya que permite que sus par&aacute;metros sean configurados de acuerdo con un proceso particular a trav&eacute;s de un software interfaz de usuario instalado en un PC. Las siguientes secciones del documento muestran la descripci&oacute;n detallada del sistema, pruebas y resultados obtenidos, para finalmente presentar las conclusiones.</p> </font>     ]]></body>
<body><![CDATA[<p>&nbsp;</p> <font face="verdana" size="2">     <p><font size="3"><b>2. METODOLOG&Iacute;A</b></font></p>     <p>Las directrices que fueron definidas como punto de partida para el dise&ntilde;o se resumen en <a href="#t1">Tabla 1</a>:</p>     <p align="center"><a name="t1"><img src="img/revistas/inde/n22/1a08t1.jpg"></a></p>     <p>Visto como un sistema, el controlador difuso puede dividirse en cinco etapas: Difusificador, Base de Conocimiento, Motor de Inferencia, Desdifusificador y una l&oacute;gica de control principal que regula la interacci&oacute;n entre las anteriores etapas y el usuario (ver <a href="#f1">Figura 1</a>).</p>     <p align="center"><a name="f1"><img src="img/revistas/inde/n22/1a08f1.jpg"></a></p>     <p>2.1 <b>Difusificador</b></p>     <p>El sistema utiliza un difusificador por cada puerto de entrada, cuya estructura se muestra en la <a href="#f2">Figura 2</a>.</p>     <p align="center"><a name="f2"><img src="img/revistas/inde/n22/1a08f2.jpg"></a></p>     <p>Cada bloque de este tipo permite seleccionar entre funciones de membres&iacute;a triangular o -linear mediante una se&ntilde;al denominada Trigam. Las entradas Alpha, Beta y Gamma corresponden a los par&aacute;metros de la expresi&oacute;n que se debe evaluar. El <i>latch</i> en la entrada mantiene fijo el valor le&iacute;do del puerto de entrada del controlador mientras se calcula el valor de membres&iacute;a.</p>     ]]></body>
<body><![CDATA[<p align="center"><a name="f3"><img src="img/revistas/inde/n22/1a08f3.jpg"></a></p>     <p>El c&aacute;lculo en los segmentos de recta de las funciones se realiza con expresiones de la forma descrita en (<a href="#e1">1</a>). El pre-escalamiento por 1023 en el numerador traslada el intervalo normalizado (0, 1) al intervalo (0, 1023) ya que los c&aacute;lculos se realizar&aacute;n utilizando aritm&eacute;tica de punto fijo. Esto garantiza que los valores de membres&iacute;a obtenidos empleen todo el rango de representaci&oacute;n de enteros sin signo de 10 <i>bits</i>. Cabe destacar que dicho escalamiento es realizado de manera que no es necesario incluir un multiplicador (<a href="#e2">2</a>).</p>     <p align="center"><a name="e1"><img src="img/revistas/inde/n22/1a08e1.jpg"></a>&nbsp;&nbsp;&nbsp;&nbsp;(1)</p>     <p align="center"><a name="e2"><img src="img/revistas/inde/n22/1a08e2.jpg"></a>&nbsp;&nbsp;&nbsp;&nbsp;(2)</p>     <p>El cociente se calcula utilizando l&oacute;gica combinatoria por medio de un arreglo celular divisor con reestablecimiento &#91;<a href="#4">4</a>&#93; (ver <a href="#f4">Figura 4</a>) de ta ma&ntilde;o 20 bits en el dividendo y 10 bits en el divisor, lo cual disminuye significativamente la latencia introducida por la operaci&oacute;n si se compara con una implementaci&oacute;n secuencial.</p>     <p align="center"><a name="f4"><img src="img/revistas/inde/n22/1a08f4.jpg"></a></p>     <p>El diagrama de flujo en la <a href="#f5">Figura 5</a> resume de manera general la operaci&oacute;n de esta etapa del sistema. El proceso completo toma 5 ciclos de reloj.</p>     <p align="center"><a name="f5"><img src="img/revistas/inde/n22/1a08f5.jpg"></a></p>     <p>2.2 <b>Base de conocimiento y motor de inferencia</b></p>     <p>La base de conocimiento tiene una capacidad para m&aacute;ximo 25 reglas tipo Mamdani de la forma: </p>     ]]></body>
<body><![CDATA[<p align="center"><i>If X<sub>1</sub> is S<sub>1k</sub> And X<sub>2</sub> is S<sub>2m</sub> then Z is S<sub>oi</sub></i> &nbsp;&nbsp;&nbsp;&nbsp;(<a name="e3">3</a>)</p>     <p>Donde <i>X<sub>1</sub></i> y <i>X<sub>2</sub></i> son las entradas al controlador, <i>S<sub>1k</sub></i> es el <i>k-&eacute;simo</i> conjunto asociado a la entrada <i>X<sub>1</sub></i>, <i>S<sub>2m</sub></i> es el <i>m-&eacute;simo</i> conjunto difuso asociado a la entrada <i>X<sub>2</sub></i> y <i>S<sub>oi</sub></i> es el <i>i-&eacute;simo Singleton</i> asociado a la salida <i>Z</i>.</p>     <p>La inferencia en cada regla se efect&uacute;a mediante el operador m&iacute;n (m&iacute;nimo); por esta raz&oacute;n, el motor de inferencia est&aacute; constituido por un arreglo de comparadores, que eval&uacute;an la operaci&oacute;n entre el par de valores de membres&iacute;a involucrados en el antecedente de cada regla, generando un valor de membres&iacute;a resultante por la regla evaluada.</p>     <p>Un registro de control almacena un c&oacute;digo de 4 <i>bits</i> asociado a la partici&oacute;n del universo de discurso hecha por el usuario a cada variable de entrada (ver <a href="#t2">Tabla II</a>); un segundo registro de 10 <i>bits</i> contiene la informaci&oacute;n del tipo de funci&oacute;n de membres&iacute;a que corresponde a cada conjunto, de manera que si un bit dado es &#39;0&#39;, la correspondiente funci&oacute;n de membres&iacute;a es triangular, de lo contrario, ser&aacute; -linear; esto le permite al sistema conocer cu&aacute;ntas funciones de membres&iacute;a y de qu&eacute; tipo debe evaluar por variable de entrada y cu&aacute;les membres&iacute;as resultantes debe tener en cuenta para el c&aacute;lculo del desdifusificador.</p>     <p align="center"><a name="f6"><img src="img/revistas/inde/n22/1a08f6.jpg"></a></p>     <p align="center"><a name="t2"><img src="img/revistas/inde/n22/1a08t2.jpg"></a></p>     <p>2.3 <b>Desdifusificador</b></p>     <p>Luego de obtener las membres&iacute;as resultantes del proceso de inferencia, los pasos siguientes ser&iacute;an la implicaci&oacute;n y la agregaci&oacute;n, para luego continuar con la desdifusificaci&oacute;n. Sin embargo, llevando a cabo el proceso de implicaci&oacute;n en cada regla, aplicando ya sea el operador producto o m&iacute;nimo entre el valor membres&iacute;a resultante y el conjunto singleton del consecuente de la regla, lo que se obtiene es un singleton escalado por el valor de membres&iacute;a resultante. Siguiendo con el procedimiento, al efectuar la agregaci&oacute;n de los conjuntos resultantes de cada regla, mediante una operaci&oacute;n OR (m&aacute;ximo) entre los conjuntos obtenidos de la implicaci&oacute;n, el conjunto final que se obtiene de todo el proceso es una superposici&oacute;n de los singletons involucrados en cada regla, cada uno escalado por el correspondiente valor de membres&iacute;a inferido. As&iacute;, luego de realizar el an&aacute;lisis anterior y al observar la f&oacute;rmula para calcular el centroide:</p>     <p align="center"><a name="e3"><img src="img/revistas/inde/n22/1a08e3.jpg"></a>&nbsp;&nbsp;&nbsp;&nbsp;(<a name="e3">3</a>)</p>     <p>Donde <i>&micro;(z)</i> es la funci&oacute;n de membres&iacute;a del conjunto obtenido de la agregaci&oacute;n y z asume los valores posibles del universo de discurso de la variable de salida. Puede entonces concluirse que, obtenidos los valores de membres&iacute;a resultantes de la inferencia, se puede proseguir directamente a la desdifusificaci&oacute;n aplicando la siguiente f&oacute;rmula:</p>     ]]></body>
<body><![CDATA[<p align="center"><a name="e4"><img src="img/revistas/inde/n22/1a08e4.jpg"></a>&nbsp;&nbsp;&nbsp;&nbsp;(<a name="e4">4</a>)</p>     <p>Donde <i>&micro;<sub>k</sub></i> es la membres&iacute;a inferida en la <i>k-&eacute;sima</i> regla y <i>&beta;<sub>k</sub></i> es la posici&oacute;n (abcisa) del singleton del consecuente dentro del universo de discurso de  la variable de salida.</p>     <p>Para efectuar este c&aacute;lculo en <i>hardware</i> se recurri&oacute; a una l&oacute;gica digital como la descrita en <a href="#f7">Figura 7</a>.</p>     <p align="center"><a name="f7"><img src="img/revistas/inde/n22/1a08f7.jpg"></a></p>     <p>En esta etapa s&iacute; fue necesario implementar un multiplicador de 10 bits (con producto de 20 bits). &Eacute;ste fue realizado utilizando l&oacute;gica combinatoria por medio de un arreglo de 9 sumadores de 10 bits en paralelo desplazados 1 bit entre si. Dicho arreglo asemeja a la manera como se realiza la suma en una multiplicaci&oacute;n calculada a mano.</p>     <p>La divisi&oacute;n requerida por la f&oacute;rmula se implement&oacute; mediante un arreglo divisor similar al de la etapa de difusificaci&oacute;n, solo que esta vez fue necesaria una capacidad de 24 <i>bits</i> en el dividendo y 14 <i>bits</i> en el divisor.</p> </font>     <p>&nbsp;</p> <font face="verdana" size="2">     <p><font size="3"><b>3. PRUEBAS Y RESULTADOS</b></font></p>     <p>Esta secci&oacute;n se divide en dos partes: la primera presenta los resultados de sintetizar el controlador en el dispositivo Cyclone Ep1c20f400c7 de Altera; la segunda tiene por objetivo ilustrar la capacidad de control del sistema bajo dos procesos de prueba, uno lineal y otro no lineal. En cada caso el rendimiento obtenido fue comparado con el de un control PID tradicional sintonizado por el algoritmo de Dahlin &#91;<a href="#5">5</a>&#93;. </p>     <p>3.1 <b>Resultados de s&iacute;ntesis</b></p>     ]]></body>
<body><![CDATA[<p>En la <a href="#t3">Tabla 3</a> se muestra el resumen de la s&iacute;ntesis del hardware en el dispositivo FPGA. La l&oacute;gica adicional a la que se hace referencia corresponde a la UART encargada de la comunicaci&oacute;n bidireccional serial con el PC, circuiter&iacute;a anti-rebote asociada a botones pulsadores necesarios para interactuar con el sistema, entre otros.</p>     <p align="center"><a name="t3"><img src="img/revistas/inde/n22/1a08t3.jpg"></a></p>     <p>3.2 <b>Capacidad de control</b></p>     <p>Se realizaron pruebas en dos escenarios, un proceso lineal y otro no lineal. Las variables de entrada al controlador difuso fueron el error y el cambio del error, y se especificaron 5 conjuntos difusos para cada variable con una base de conocimiento de 25 reglas.</p>     <p>Para llevar a cabo estas pruebas sobre el controlador dise&ntilde;ado, se realiz&oacute; un montaje como se describe en la <a href="#f8">Figura 8</a>. La herramienta software LabVIEW v8.0 sirvi&oacute; para implementar los procesos de prueba y establecer la comunicaci&oacute;n con el controlador a trav&eacute;s de una interfaz serial RS-232 Full Duplex. El montaje fue realizado de manera que era posible observar el comportamiento en l&iacute;nea del dise&ntilde;o y de un controlador PID sintonizado para cada proceso; esto &uacute;ltimo con el prop&oacute;sito de realizar comparaciones.</p>     <p>El controlador con el cual se compara el dise&ntilde;o se implement&oacute; mediante la librer&iacute;a de control PID disponible en LabVIEW. Dicha comparaci&oacute;n fue realizada para m&uacute;ltiples cambios del Set Point (SP) (ver <a href="#f9">Figura 9</a>), teniendo en cuenta los indicadores Error Absoluto Acumulado (IAE) y Variaci&oacute;n Absoluta Acumulada en la acci&oacute;n de control (IAdm) (Ver <a href="#t4">Tabla 4</a>).</p>     <p align="center"><a name="f8"><img src="img/revistas/inde/n22/1a08f8.jpg"></a></p>     <p align="center"><a name="t4"><img src="img/revistas/inde/n22/1a08t4.jpg"></a></p>     <p>Los procesos de prueba son ampliamente conocidos en la literatura; estos son: el tanque de mezclado uniforme fluido fr&iacute;o/fluido caliente (lineal) y el tanque reactor no isot&eacute;rmico continuamente agitado (CSTR) (no lineal). Para mayor detalle de estos procesos puede referirse entre otros a &#91;<a href="#5">5</a>&#93;.</p>     <p align="center"><a name="f9"><img src="img/revistas/inde/n22/1a08f9.jpg"></a></p>     ]]></body>
<body><![CDATA[<p>Una interfaz de usuario ejecutada desde un PC permite configurar a trav&eacute;s del puerto serie RS-232 la base de conocimiento (<a href="#t5">Tabla 5</a>) y las funciones de membres&iacute;a (ver <a href="#g1">Figuras 10</a> y <a href="#g2">11</a>) deseadas para cada proceso.</p>     <p align="center"><a name="t5"><img src="img/revistas/inde/n22/1a08t5.jpg"></a></p>     <p align="center"><a name="g1"><img src="img/revistas/inde/n22/1a08g1.jpg"></a></p>     <p align="center"><a name="g2"><img src="img/revistas/inde/n22/1a08g2.jpg"></a></p> </font>     <p>&nbsp;</p> <font face="verdana" size="2">     <p><font size="3"><b>4. CONCLUSIONES</b></font></p>     <p>El presente trabajo muestra que el controlador dise&ntilde;ado puede configurarse para aplicarse exitosamente en m&aacute;s de un proceso, sin que esto implique modificar su <i>hardware</i>, lo cual es consecuencia de la parametrizabilidad de la base de conocimiento y de las funciones de membres&iacute;a.</p>     <p>El uso de <i>singletons</i> en el consecuente de las reglas simplifica el proceso de desdifusificaci&oacute;n, ya que permite calcular la salida directamente como un promedio ponderado de &eacute;stos, con lo cual se obvian las operaciones de implicaci&oacute;n y agregaci&oacute;n.</p>     <p>En cuanto a la capacidad de control, sobre escenario no lineal, el controlador difuso implementado produjo en la mayor&iacute;a de los casos menor cantidad de error acumulado y una variaci&oacute;n mucho menos brusca en la acci&oacute;n de control (menor IAdm). Por otro lado, en el proceso lineal, los resultados mejoraron significativamente para el PID por tratarse de su escenario natural; sin embargo, el controlador difuso mantuvo en la mayor&iacute;a de los caso una ligera superioridad en el IAE al costo de un mayor IAdm.</p>     <p>La cantidad de recursos consumidos por el sistema en el dispositivo FPGA particular sugiere que puede sintetizarse en otro de mucha menor densidad.</p> </font>     ]]></body>
<body><![CDATA[<p>&nbsp;</p> <font face="verdana" size="2">     <p><font size="3"><b>REFERENCIAS</b></font></p>     <!-- ref --><p>&#91;<a name="1">1</a>&#93; MEZA, Araceli, Observadores difusos y control adaptable difuso basado en observadores. Tesis de maestr&iacute;a, Instituto Politecnico Nacional, M&eacute;xico D.F. Octubre de 2003. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000085&pid=S0122-3461200700020000800001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;<a name="2">2</a>&#93; Fuzzy Control and Modeling Analitical Foundation and Applications, IEEE Press Series on Biomedical Engineering, John Wiley and Sons, 2000 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000086&pid=S0122-3461200700020000800002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;<a name="3">3</a>&#93; SAMEEP SINGH and KULDIP S. Rattan, Implementation of a Fuzzy Logic Controller Using VHDL, Fuzzy Information Processing Society, 2003. NAFIPS 2003. 22nd International Conference of the North American &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000087&pid=S0122-3461200700020000800003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;<a name="4">4</a>&#93; MI LU, &quot;Arithmetic and Logic in Computer Systems&quot;, Ed. Hoboken, New Jersey: John Wiley &amp; Sons, 2004. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000088&pid=S0122-3461200700020000800004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>&#91;<a name="5">5</a>&#93; SMITH, C. y CORRIPIO, A., Principles and practice of automatic control, New York: John Wiley and Sons, 1997.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000089&pid=S0122-3461200700020000800005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MEZA]]></surname>
<given-names><![CDATA[Araceli]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Observadores difusos y control adaptable difuso basado en observadores]]></article-title>
<source><![CDATA[]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="book">
<collab>IEEE Press Series on Biomedical Engineering</collab>
<source><![CDATA[Fuzzy Control and Modeling Analitical Foundation and Applications]]></source>
<year>2000</year>
<publisher-name><![CDATA[John Wiley and Sons]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SAMEEP]]></surname>
<given-names><![CDATA[SINGH]]></given-names>
</name>
<name>
<surname><![CDATA[KULDIP]]></surname>
<given-names><![CDATA[S. Rattan]]></given-names>
</name>
</person-group>
<source><![CDATA[Implementation of a Fuzzy Logic Controller Using VHDL: Fuzzy Information Processing Society]]></source>
<year>2003</year>
<conf-name><![CDATA[22 International Conference of the North American]]></conf-name>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MI]]></surname>
<given-names><![CDATA[LU]]></given-names>
</name>
</person-group>
<source><![CDATA[Arithmetic and Logic in Computer Systems]]></source>
<year>2004</year>
<publisher-loc><![CDATA[New Jersey ]]></publisher-loc>
<publisher-name><![CDATA[John Wiley & Sons]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SMITH]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[CORRIPIO]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Principles and practice of automatic control]]></source>
<year>1997</year>
<publisher-loc><![CDATA[New York ]]></publisher-loc>
<publisher-name><![CDATA[John Wiley and Sons]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
