scieee AI-readable full text Open interactive document viewer

Implementación del algoritmo de mínimos cuadrados aplicado al diseño de dispositivos de microondas

Puig Martí, María Dolores

Full text

UNIVERSIDAD POLITECNICA DE VALENCIA ESCUELA POLITECNICA SUPERIOR DE GANDIA I.T. Telecomunicación (Sist. de Telecomunicación) “Implementación del algoritmo de mínimos cuadrados aplicado al diseño de dispositivos de microondas” TRABAJO FINAL DE CARRERA Autor/es: Mª Dolors Puig Martí Director/es: D. José Vicente Morro Ros GANDIA, 2010 Índice CAPÍTULO 1: Introducción......................................................................3 1.1Objetivo............................................................................................................... 5 1.2Metodología ........................................................................................................ 5 1.3Estructura del documento.................................................................................... 7 CAPÍTULO 2: teoría clásica de la optimización de funciones ............... 9 2.1Introducción ........................................................................................................ 9 2.2Conceptos básicos de optimización .................................................................... 9 2.2.1Definición del problema............................................................................. 9 2.2.2-Conceptos de mínimo global y mínimo local ........................................... 10 2.2.3. Clasificación de las funciones .................................................................. 13 2.2.4. Condiciones necesarias y suficientes para la existencia de mínimo......... 14 2.2.5. Estructura general de los métodos............................................................ 15 2.3Algoritmos de optimización sin restricciones................................................... 17 2.3.1Introducción ............................................................................................. 17 2.3.2Búsqueda Lineal....................................................................................... 19 2.3.2.1Interpolaciones polinómicas............................................................ 20 2.3.2.1.1Interpolación cuadrática......................................................... 20 2.3.2.1.2Interpolación cúbica............................................................... 21 2.3.2.2Implementación sencilla del Line Search........................................ 23 2.3.3Métodos de Mínimos Cuadrados ............................................................. 23 2.3.3.1Método Gauss-Newton.................................................................... 25 2.3.3.2Método Levenberg-Marquardt........................................................ 27 2.3.3.2.1Cálculo del parámetro de amortiguamiento λ ....................... 28 2.3.3.3Método Quasi-Newton.................................................................... 30 2.3.3.4Método Híbrido: Levenberg-Marquardt y Quasi-Newton.............. 32 CAPÍTULO 3: Diseño de dispositivos pasivos de microondas..............34 3.1Introducción ...................................................................................................... 35 3.2. Diseño de filtros evanescentes con resonadores dieléctricos ............................ 39 CAPÍTULO 4: Resultados.........................................................................44 4.1Resultado del método de los mínimos cuadrados ............................................. 44 4.2Resultado del diseño de filtros de microondas con postes dieléctricos............. 60 CAPÍTULO 5: Conclusiones....................................................................72 ANEXO: Código MATLAB de los programas.......................................75 Bibliografía.................................................................................................86 2 3 CAPÍTULO 1 Introducción En la sociedad actual, hay una enorme demanda de todo tipo de sistemas de comunicaciones de gran capacidad, es decir, se necesitan anchos de banda elevados, tecnología que posibilite el dar servicio a un número cada vez mayor de usuarios, ofrecer nuevas aplicaciones, etc. Todo ello requiere un uso extremadamente eficiente del espectro radioeléctrico. Las bandas usadas actualmente están prácticamente saturadas, de modo que la solución más práctica es la de extender las telecomunicaciones sobre frecuencias cada vez más elevadas, concretamente sobre la banda de microondas (de 300 MHz hasta 300 GHz). Las ventajas de la banda de microondas son las siguientes: o En estas frecuencias es más sencillo conseguir antenas de mayor ganancia, ya que ésta es proporcional a la longitud efectiva de la antena, por tanto, para un tamaño fijo, se tiene mayor ganancia conforme aumenta la frecuencia de operación. o La banda de frecuencias de microondas ofrece mucha directividad, lo que hace que sea idónea para las comunicaciones punto a punto, ya que la onda viaja desde el transmisor hasta el receptor en línea recta, creando poca interferencia a otros usuarios. o La atmósfera presenta un comportamiento bastante bueno en este rango de frecuencias, ya que la atenuación debida a la ionosfera es prácticamente plana en frecuencia y no hay absorción por ozono ni radiaciones ionizantes, aunque sí existen dos picos de absorción por moléculas de oxígeno (a 60 y a 120 GHz), y otros dos por moléculas de agua (a 22.2 y a 183.3 MHz), que hay que evitar. o Es un hecho que en este rango hay muchas frecuencias disponibles, de modo que no se solapan con las aplicaciones ya existentes. o En estas frecuencias tienen lugar diferentes reacciones moleculares, atómicas y nucleares, que permiten el desarrollo de numerosas aplicaciones en el ámbito industrial como el calentamiento de alimentos y productos industriales; en la agricultura con las novedosas aplicaciones en el tratamiento de los suelos cultivables, para eliminar el crecimiento indeseado de algunas hierbas, o en el control de plagas: y en la ecología con el tratamiento de residuos radioactivos o la purificación del carbón. También, existen aplicaciones médicas que utilizan esta banda de frecuencias, como la elaboración de diagnósticos y tratamientos médicos. o Por último, la mayor ventaja de todas: al aumentar la frecuencia sobre la que se transmite, es más sencillo proporcionar anchos de banda relativos elevados en los dispositivos, lo que equivale a más capacidad y velocidad para el usuario final. 4 No obstante, la transmisión en la banda de microondas también presenta inconvenientes: o La frecuencia máxima de operación nunca es infinita, sino que viene marcada por el estado de la tecnología que se esté usando en ese momento (que no siempre coincide con la tecnología que está siendo investigada). o La alta directividad de las transmisiones en la banda de microondas puede suponer una desventaja para las comunicaciones punto a multipunto. o Se debe tener un cuidado especial a la hora de multiplexar distintos canales adyacentes en frecuencia, ya que al trabajar en altas frecuencias, es difícil conseguir unas pendientes abruptas que permitan un aprovechamiento óptimo del espectro, por lo que hay que prever unas bandas de guarda mayores de lo habitual. A pesar de estos inconvenientes, el uso de la banda de microondas está muy extendido en la actualidad. Además de los servicios ya existentes, como las comunicaciones por satélite o las innumerables aplicaciones de la tecnología de radar [13], están surgiendo nuevos servicios que hacen uso de esta banda de frecuencias, como son los bucles de acceso inalámbricos (Wireless LAN, WiMAX) o los sistemas de posicionamiento global como GPS o el futuro GALILEO. Por ello, y debido a las dificultades anteriormente comentadas, es muy importante diseñar bien todos los componentes de un sistema de comunicaciones que opere en este rango de frecuencias. Teniendo como objetivo que el comportamiento de todos los dispositivos sea lo más cercano posible al ideal. El proceso de diseño que tradicionalmente se sigue, se basa en un procedimiento de ensayo-error, es decir, conociendo la respuesta ideal del dispositivo, el diseñador modifica dicha estructura y vuelve a analizarla. Este proceso se repite hasta conseguir una respuesta suficientemente buena, lo cual, en ocasiones, es muy difícil. El problema de este proceso surge cuando la complejidad de los dispositivos aumenta, como ocurre en la actualidad, ya que para satisfacer las necesidades de los usuarios es imprescindible el uso de una tecnología compleja de diseñar, que plantea problemas a los métodos tradicionales y que requiere de una alta precisión para que su uso sea satisfactorio. Por ello, actualmente el proceso de diseño de dispositivos de microondas se basa en minimizar una función de error entre la respuesta ideal y la respuesta real del dispositivo bajo estudio. Esta función dependerá de las dimensiones físicas del dispositivo y de las características de algunos materiales utilizados. El problema que se plantea es que no basta sólo con minimizar esa función de error, sino que además hay que asegurar que las variables tomen unos valores adecuados, físicamente realizables y coherentes. Por lo tanto, es imprescindible añadir ciertas restricciones al problema de minimización. De esta forma, se construye una herramienta CAD de diseño automatizado, en la que la intervención humana es mínima, tan sólo es necesario introducir la topología del dispositivo, el objetivo de diseño, las restricciones a tener en cuenta y un punto inicial. 5 Una vez establecido esto, se obtiene la solución óptima de forma iterativa. Así, el proceso es más eficaz y eficiente que el proceso clásico, ya que se evitan los errores que puede cometer el diseñador en los cambios a realizar en la estructura durante el proceso de ensayo-error, pudiendo hacer imposible la obtención de una configuración razonablemente buena. 1.1Objetivo El objetivo principal de este trabajo es el diseño e implementación de algoritmos que permitan la optimización automatizada de una función matemática, así como la aplicación de los mismos al diseño de dispositivos pasivos de microondas. En el Grupo de Aplicaciones de las Microondas, del i-TEAM, ya habían sido programados distintos métodos sin tener en cuenta restricciones capaces de diseñar dispositivos bastante complejos. El método fundamental que se va a programar es el Método de Mínimos Cuadrados, además en el interior de éste se hace uso de otros algoritmos que resuelven problemas más sencillos. Todos ellos han sido también programados. En definitiva, el programar e implementar estos métodos y su inclusión en el proceso de diseño de dispositivos de microondas me planteaba un reto por varios motivos: uno porque suponía la puesta en práctica de conocimientos y destrezas adquiridos en esta Escuela; otro por hacer frente a nuevos imprevistos y darles solución. 1.2Metodología Este proyecto se ha programado en MATLAB, bajo el sistema operativo Windows. Durante la realización de este proyecto se ha llevado a cabo un proceso a dos niveles: individual y tutelado por el director del proyecto. La idea inicial del proyecto me fue sugerida por el director del mismo, José Vicente Morro Ros. Lo primero que hizo fue proporcionarme bibliografía y guiarme en el estudio. Posteriormente, me ha facilitado aclaraciones y sugerencias siempre que lo he necesitado, resultando ser una ayuda imprescindible en el desarrollo de este proyecto. Mi trabajo individual inicialmente se dirigió a entender los diferentes aspectos teóricos de la bibliografía. Posteriormente, comencé a programar los diferentes algoritmos que dan forma a este proyecto, para terminar dedicando tiempo a su puesta en práctica. Durante las pruebas de estos algoritmos, gracias a mi tutor pude superar algunas dificultades que surgieron en la puesta en práctica. 6 Por otro lado, el proceso de trabajo ha constado de diferentes fases, en las cuales han coexistido los niveles anteriormente mencionados. Las fases han sido las siguientes: o Formación teórica: Se han estudiado diferentes métodos de minimización de funciones no sujetas a restricciones, que consideran una sola función objetivo, comprendiendo bien su funcionamiento y el significado de todas sus variables para más tarde poderlos programar. Además, ha sido necesario perfeccionar el conocimiento y uso de distintos programas y librerías. Éste ha sido el caso del lenguaje MATLAB [7]. o Programación de los algoritmos: Programar un algoritmo consiste en describir su funcionamiento de una manera sistemática y organizada, mediante un lenguaje de programación, que en este caso ha sido MATLAB. La programación ha sido vital en este proyecto, de hecho los métodos han sido depurados muchas veces para conseguir una mejora, tanto en los resultados como en el tiempo de cómputo. o Validación de los algoritmos: Tras la programación de cada algoritmo, se han intentado detectar los distintos errores presentes en él, comprobando, al mismo tiempo, si el algoritmo desarrollado obtiene unos resultados cercanos a los pasos del algoritmo. Esta fase ha sido una de las más costosas. o Obtención de resultados: Se han realizado diferentes pruebas para comprobar los algoritmos y métodos utilizados, aplicándose después al diseño de un filtro de microondas. De este modo, los resultados obtenidos se presentan de la siguiente manera: o Prueba de los distintos métodos que se han programado para resolver sistemas de ecuaciones lineales. Para la realización de estas pruebas se han tenido que hacer varias implementaciones del algoritmo desarrollado, con el fin de que los valores obtenidos fueran lo más parecido posible a los valores reales. o Pruebas de los distintos métodos de optimización de funciones en el programa MATLAB, comparando los resultados ofrecidos por el programa con los obtenidos anteriormente. o Finalmente, se han aplicado los cuatro algoritmos de optimización sin restricciones al diseño de un dispositivo de microondas real, como es un filtro evanescente con cuatro cavidades resonantes con postes dieléctricos en su interior. Para esto ha sido necesario utilizar el software de diseño del GAM del iTEAM. 7 1.3Estructura del documento El trabajo se ha estructurado en capítulos de la siguiente manera: o Capítulo 2: En este capítulo se presenta la teoría fundamental de la minimización de funciones, definiéndose conceptos fundamentales como mínimo global y mínimo local, condiciones suficientes y necesarias para la existencia de mínimos, etc. Seguidamente, se explica la función de Rosenbrock que es la función de test utilizada en las pruebas. Hay una breve introducción a la optimización sin restricciones, tras explicar las características generales de ésta se explica en que consiste la búsqueda lineal. Finalmente, se presentarán varios conceptos básicos para entender matemáticamente el método de mínimos cuadrados, explicando en que consisten los métodos de Gauss-Newton, Levenberg-Marquardt, Quasi-Newton con dos técnicas de actualización de la hessiana y el método híbrido. o Capítulo 3: En este capítulo se explican, de forma general, las estrategias y procesos más comunes en el diseño de cualquier dispositivo de microondas. A continuación, se expone el diseño de los filtros evanescentes con resonadores dieléctricos, analizando, primero, las ventajas que presenta este tipo de filtros respecto a otros. Posteriormente, se explica la estrategia de diseño aplicada para el diseño de este tipo de filtros. o Capítulo 4: Se evalúa el algoritmo ya programado en MATLAB presentando los resultados obtenidos comparados con los proporcionados por el programa. Gracias a estas pruebas, se han hecho modificaciones al algoritmo para mejorar su funcionamiento. Por último, se muestran los resultados obtenidos al aplicar los diferentes algoritmos al proceso de diseño de un dispositivo de microondas real, en concreto un filtro evanescente con resonadores dieléctricos. o Capítulo 5: En este último capítulo se exponen las principales conclusiones a las que se llega tras la realización del proyecto. Además, al final del proyecto se ha incluido un apéndice: o Apéndice A: En este apéndice se hace una revisión de los distintos métodos implementados, indicando cómo invocarlos y cuáles son sus parámetros de entrada y de salida. Pretende ser un manual de referencia para el usuario que desee utilizar cualquiera de los algoritmos aquí programados. 8 15 o El algoritmo terminará cuando, entre dos iteraciones consecutivas, en cada eje se haya avanzado una cantidad menor a una cierta tolerancia tol x. Dicha tolerancia puede ser distinta para cada eje. Es decir: o ( ) ( ) ixxx tol k i k i∀≤− +, 1 o El algoritmo finalizará si, entre dos iteraciones sucesivas, la distancia entre dos puntos x es menor que un cierto umbral tol x, esta es la opción más usual. Es decir: ( ) ( ) tol kk xxx ≤− +1 o Se terminará la búsqueda cuando, entre dos iteraciones consecutivas, la diferencia entre los valores que toma la función es menor que una cierta tolerancia ftol (definida por el usuario), es decir: ( ) ( ) tol kk fff ≤− +1 En la práctica, es muy común la utilización de varios de estos criterios a la vez. Además, se suele limitar el número de evaluaciones de la función objetivo o el número de iteraciones, por si no se produce la convergencia. Hasta aquí se ha presentado la estructura básica más común de los diferentes métodos de minimización. Sin embargo, falta por explicar la forma en la que se puede medir la eficiencia de los mismos, la cual se basa en el concepto de orden de convergencia de un algoritmo, que es una medida del grado de rapidez o lentitud con la que la sucesión de puntos () k x converge al punto óptimo *x en un entorno del mismo. Partiendo de la definición del vector ( ) ( ) *xxh kk −= , podemos hablar de convergencia de orden p si ( ) () 0, 1 >→ + aa h h k k Hay varios casos particulares de gran interés: () () () () () () lSuperlineaiaConvergenc h h CuadráticaiaConvergenca h h LinealiaConvergenca h h k k k k k k ,0 , , 1 2 1 1 → → → + + + 16 En la práctica, la existencia de convergencia y de un determinado orden de la misma no es garantía de un buen comportamiento del algoritmo. Eso es debido a muchos factores, como por ejemplo: o Al estudiar teóricamente la convergencia de un algoritmo, no se tienen en cuenta los errores de redondeo del ordenador. o El orden de convergencia teórico se demuestra sólo para puntos cercanos al óptimo. o Para determinar dicho orden de convergencia, se hacen suposiciones sobre la función objetivo que pueden no cumplirse en la práctica (como por ejemplo la convexidad). Por esto, el mejor indicador del buen comportamiento de un algoritmo es la prueba experimental, realizada normalmente con diversas funciones de test. Un ejemplo de estas funciones es la Función de Rosenbrock o Función “banana”, cuya expresión, para 2=n es la siguiente: () ( ) () 2 1 2 2 12 1100 xxxxf −+−= Esta función suele ser muy usada como función de prueba en optimización por su lenta convergencia para la mayoría de los métodos. Su mínimo está en [] 1,1=x, donde () 0=xf . Podemos ver la representación gráfica de la función de Rosenbrock en la siguiente imagen: -2 -1 012 -2 0 2 4 6 0 1000 2000 3000 4000 Figura 2.2: Función de Rosenbrock 17 A continuación se muestran las curvas de nivel de la función de Rosenbrock: -2 -1.5 -1 -0.5 00.5 11.5 2 -2 -1 0 1 2 3 4 5 6 2.3Algoritmos de optimización sin restricciones 2.3.1Introducción Una vez situados en el problema, es interesante comprender los métodos más utilizados para minimizar funciones cuando no están sometidas a ningún tipo de restricción. Las posibilidades para encontrar el mínimo de una función son muy amplias, abarcando un enorme abanico de métodos. Sin embargo, esto depende de la información de la función y de las derivadas que utilice el método para aproximarse a la solución. En base a esto, todos los métodos se pueden clasificar en los tres tipos siguientes: o Métodos de búsqueda directa: Estos métodos sólo evalúan la función objetivo. Son adecuados para funciones con una alta no linealidad o con discontinuidades. Son un tipo de métodos muy robustos, pero presentan una convergencia más lenta que los otros. o Métodos de Gradiente: Estos métodos utilizan el valor del gradiente de la función (primera derivada). Su eficiencia es mucho mayor cuando el gradiente es continuo. 18 o Métodos de orden superior: Estos métodos necesitan calcular derivadas de orden superior, La gran desventaja de este método es el alto coste computacional que supone este cálculo (ya que exige bastantes evaluaciones de la función objetivo). Sin embargo, en la mayoría de los casos, posee la ventaja de tener rápida convergencia. Todos los algoritmos de minimización necesitan un punto de partida 0 x, este punto lo debe proporcionar un usuario con cierto conocimiento de la aplicación. Cuanto más cerca esté 0 x de la solución óptima menos tiempo necesitará el algoritmo para converger y habrá menos riesgo de mínimos locales. Se generan varios puntos hasta que se cumple el criterio de terminación, para generar un nuevo punto hay dos estrategias posibles: Región de confianza y Búsqueda lineal. En la estrategia de búsqueda lineal, se determina una dirección de avance k d y si se esta en el punto k x, el nuevo punto será kkk dxx α + = +1 A la búsqueda de α se le llama búsqueda lineal (Line Search). Consiste en buscar el mínimo de una función unidimensional ( ) α g: ( ) ( ) kk dxfg α α + = En este caso hay que determinar a cada paso la dirección de avance. En la estrategia de región de confianza, en cada iteración, se aproxima la función en el entorno de k x(punto origen) por otra función más sencilla utilizando la Serie de Taylor, es decir: ()() Hsssfxfsxm TT kkk 2 1 +∇+=+ , Δ≤ 2 s, 0> Δ donde Δ es el radio de la región de confianza. Se obtiene el mínimo de k m dentro de la región de confianza, si no decrece f suficientemente, se reduce Δ y se vuelve a buscar el mínimo de k m en la nueva región de confianza. La diferencia entre estas dos estrategias está en cómo se selecciona la dirección y la distancia del nuevo paso: o En la búsqueda lineal primero se elige la dirección y luego la distancia. o En la región de confianza primero se elige la distancia y luego la dirección. La estrategia de la búsqueda lineal es la utilizada en la mayoría de algoritmos clásicos, y la utilizada en este proyecto. Tras explicar las características generales de los métodos para minimizar una función sin restricciones, se va a explicar en que consiste la búsqueda lineal. 19 2.3.2Búsqueda Lineal Las técnicas de búsqueda lineal realmente son procedimientos de optimización para una sola variable, y que se realiza repetidamente en problemas de varias variables. La elección de un método adecuado de búsqueda lineal es de gran importancia en un algoritmo de optimización ya que es un procedimiento muy costoso. En la búsqueda lineal se buscan dos cosas: o Acotación: determina un intervalo que acote los valores de α deseables. o Bisección o interpolación: determina un valor de α dentro del intervalo. Se prueban unos cuantos valores de α y se para cuando se satisfacen dos condiciones, llamadas Condiciones de Wolfe, éstas son condición de suficiente descenso y condición de curvatura: ( ) ( ) k T kkkk pfcxfpxf ∇+≤+→ αα 1 descenso suficiente decondición ( ) k T kk T kk pfcppxf ∇≥+∇→ 2 curvatura decondición α O también: ( ) ( ) ( )() α α α lgcgg = + ≤ →0'0descenso suficiente decondición 1 ( ) ( ) 0''curvatura decondición 2gcg ≥→ α donde 10 21 <<< cc La Condición de Curvatura se añade para evitar que se puedan tomar valores de α muy pequeños. Como un punto puede satisfacer las condiciones de Wolfe sin estar muy próximo a un mínimo, se usan las condiciones de Wolfe estrictas: ( ) ( ) k T kkkk pfcxfpxf ∇+≤+→ αα 1 descenso suficiente decondición ( ) k T kk T kk pfcppxf ∇≥+∇→ 2 curvatura decondición α O también: ( ) ( ) ( )() α α α lgcgg = + ≤ →0'0descenso suficiente decondición 1 ( ) ( ) 0''curvatura decondición 2gcg ≥→ α Con esto se evita que () α 'g este muy alejado de un mínimo. 20 Hay dos tipos de algoritmos de búsqueda lineal, los que no calculan derivadas y los que sí calculan derivadas (interpolaciones polinómicas). En este proyecto para hallar el mínimo a lo largo de la dirección de avance d se ha utilizado un método polinómico que calcula derivadas, usando una combinación de interpolación cuadrática y cúbica 2.3.2.1Interpolaciones polinómicas Consiste en hacer aproximaciones polinómicas con la información de la función y las derivadas en los puntos por los que se va pasando. 2.3.2.1.1Interpolación cuadrática Consiste en ajustar una función de una variable de la forma: () ( ) cbadxfg k+⋅+⋅≈+= αααα 2 · Un extremo de la función (mínimo o máximo) tiene lugar en () dxx a b bag kk ⋅+=→ − =→=+= +* 2 *02' 1 αααα Para que haya un mínimo se tiene que cumplir que: o a es positivo (la segunda derivada es positiva). o bsiempre es negativo. Los coeficientes a y b se pueden obtener a partir de tres puntos conocidos, o el valor del gradiente en dos puntos. Se pueden hacer simplificaciones si, por ejemplo, el primer punto se toma para 0= α . Si se conoce el valor de g en tres puntos no equiespaciados: ( ) 11 α α g→ ( ) 22 α α g→ ( ) 33 α α g→ ( ) ( ) ( ) () () () 312231123 312231123 22 1 * αγαγαγ α β α β α β α ggg ggg ++ + + = Donde: 22 jiij ααβ −= jiij α α γ −= 21 Para realizar interpolación, y asegurar que encontramos un mínimo, buscaremos tres puntos cercanos al mínimo. Eso se garantiza si: () ( ) 12 α α gg < y ( ) ( ) 32 α α gg < Un caso muy frecuente es disponer de la siguiente información: ( ) ( ) () ( ) ⎩ ⎨ ⎧ ∇= = =dxfg xfg k k ·0' 0 0 1 α ( ) 22 α α g→ En este caso: ( ) cbag +⋅+⋅= ααα 2 () a b bag 2 *2' − =→+= ααα ( ) 0gc = ( ) 0'gb = () ( ) ( )() 2 2 22 2 2 22 00' α α α ααα ggg acbag − − =→+⋅+⋅= ( ) ( ) () ()() 00'´2 0' * 22 2 2 ggg g −− − = αα α α 2.3.2.1.2Interpolación cúbica La interpolación cúbica resulta adecuada cuando se dispone de información del gradiente o de más de tres puntos. Se ajusta una función de una variable de la forma: () dcbag +⋅+⋅+⋅= αααα 23 Los extremos son las raíces de: () a acbb cbag 3 3 *023' 2 2−+− =→=+⋅+⋅= αααα 22 El mínimo debe cumplir que () 026'' > + ⋅ = bag α α Se puede hallar una solución con la información de g en cuatro puntos, o con sólo el valor del gradiente en tres puntos. Si disponemos de la información de la función y el gradiente en dos puntos: () ( ) () ( ) [] 2,1 '∈ ⎩ ⎨ ⎧ ⋅+∇= += i ddxfg dxfg iki iki i αα αα α () ( ) () () 212 122 122 2'' ' * βαα β β α αααα +− − + −−= gg g donde: () () ( ) ( ) 21 21 211 3'' αα α α ααβ − − −+= gg gg ()() () 21 21 2 12 '' ααββ gg−= Un caso muy frecuente es disponer de la siguiente información: ( ) ( ) () ( ) ⎩ ⎨ ⎧ ∇= = =dxfg xfg k k ·0' 0 0 1 α ( ) 22 α α g→ ( ) 33 α α g→ En este caso: () a acbb cbag 3 3 *023' 2 2−+− =→=+⋅+⋅= αααα ( ) 0'gc = ( ) () () () () () ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ −− −− ⋅ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ 00' 00' 11 1 33 22 2 3 2 2 2 3 2 3 2 2 32 ggg ggg b a αα αα α α α α αα αα 23 2.3.2.2Implementación sencilla del Line Search El siguiente viene a ser un esquema de la implementación del Line Search que se ha programado en el presente proyecto: 2.3.3Métodos de Mínimos Cuadrados El problema de mínimos cuadrados consiste en encontrar el mínimo de una función que es una suma de cuadrados: () () () ∑ = ℜ∈ == m ii xxKxKxf n1 2 2 2 min Si se trata de un problema de optimización de una red de microondas utilizamos la norma 2: () () ( ) () [] ()( ) () [] () ∑∑ == =−=−= m ii m iiii xKSxFSxFxf 1 2 1 22 2,, ψψψωψψψω donde F es la respuesta de la red, S la respuesta ideal, ω los pesos, ψ puede ser la frecuencia o el tiempo y () ( ) ( ) ( ) [ ] iii SxFxK ψ ψ ψ ω − =,. Aunque se puede abordar la optimización con cualquier método, esta función objetivo presenta determinadas características que pueden ser explotadas para aumentar la eficiencia. En MATLAB lo implementa la función lsqnonlin. 24 Para la descripción del método en este punto se necesitan fórmulas para las derivadas de la función, por lo que se cumple: La función es: ( ) ( ) ( ) xKxKxf T = El gradiente es: ( ) ( ) ( ) xKxJxf T 2=∇ La hessiana es: ( ) ( ) ( ) ( ) xQxJxJxH T22 += Donde: () xJ es la Jacobiana, que es una matriz de nm × de ( ) xk que contiene las derivadas primeras parciales de los componentes de la función, () [] T m n mmm n n KKK x K x K x K x K x K x Kx K x K x K xJ ∇∇∇= ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ =,,, 21 21 2 2 2 1 2 1 2 1 1 1 L L LLLL L L () xH es la matriz Hessiana de ( ) xf , que es una matriz que contiene las derivadas segundas parciales de los componentes de la función. () ≡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ∂ ∂ ∂∂ ∂ ∂∂ ∂ ∂∂ ∂ ∂∂ ∂ ∂ ∂ = N NN N x K xx K xx K xx K xx K x K xH 2 2 2 2 1 2 1 2 21 2 1 2 2 L LLLL L es la matriz Hessiana de () xK () () ()() ∑ = ⋅= m iii xHxKxQ 1 () ≡xHi es la matriz Hessiana de ( ) xKi Buscamos que el gradiente de () xxf Δ + sea cero: () ( ) ( ) xxJxKxxK Δ + ≅ Δ + () ( ) ( ) ()()() [] () () () [] 02 2 2 =Δ+≅ Δ+Δ+= Δ+Δ+=Δ+∇ xxJxKxJ xxJxKxxJ xxKxxJxxf T T T Por tanto hay que resolver: () ( )()() ( ) ( ) [ ] ( )() xKxJxJxJxxxJxJxKxJ TTTT 1 0− −=Δ→=Δ+ 31 Como en esta expresión es necesario invertir dicha matriz H , se puede optar por aproximar 1− H , esto es lo que hace el Método de Davidon-Fletcher-Powell, y la expresión de dicha aproximación es la siguiente: () () () () () kk T k kk T k T k k T k T kk kk qHq HqqH qs ss HH 1 11 11 1− −− −− +−+= Experimentalmente se ha comprobado que la recurrencia de BFGS funciona mejor que la de DFP. El diagrama de flujo de este método con la actualización BFGS es el siguiente: 0 = k ini xx = Determinar () () ( ) () () xkxJxJxJx TT 1− −=Δ LineSearch en dirección xΔ kkk xxx Δ⋅+= + α 1 FIN Si 1+= kk ( ) ( ) tol kk xxx ≤− +1 ( ) ( ) tol kk fff ≤− +1 IternIter max> No 32 La técnica de actualización de H defendida por Al-Baali y Fletcher propone aproximar la Hessiana en la siguiente iteración por la expresión siguiente si se cumple que 0> k T kys : T kk k T k T kk k T k kk vv vs yy ys HH ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ += + 11 1 donde: kkk xxs − =+1 () ( ) 1111 ++++ −+= k T kkkk T kk xkJJsJJy kkk sHv = 2.3.3.4Método Híbrido: Levenberg-Marquardt y Quasi-Newton Un método híbrido es una combinación de varias estrategias de optimización. La idea es utilizar en cada caso el algoritmo más adecuado. La mejor combinación de los algoritmos de optimización depende de la proximidad del punto inicial a los valores óptimos, como se ha comentado. Así, por ejemplo, se puede empezar con un método robusto que no tenga una gran dependencia con el punto inicial, como los métodos de búsqueda directa, y cuando el punto obtenido esté cerca del mínimo, se conmuta a un algoritmo de gradiente para acelerar la convergencia. Además de seleccionar los algoritmos a utilizar, hay que establecer mecanismos para conmutar de un tipo de algoritmo a otro, los cuales se basan en fijar un número máximo de evaluaciones de la función objetivo o una tolerancia para los parámetros o para la función de error. Con la estrategia de optimización híbrida se consigue aumentar la robustez y la rapidez en la convergencia. En este trabajo se presenta un método híbrido combinando el método LevenbergMarquardt con el método Quasi-Newton. Para empezar la iteración suponemos que el punto está lejos de la solución por lo que se empieza con la robustez del método Levenberg-Marquardt. Si en tres pasos la representación indica que () 0* ≠xF , entonces se conmuta al método Quasi-Newton para mejorar la representación. El siguiente diagrama de flujo es el del método híbrido: Si Contador 3≤ Método Quasi-Newton No Método Levenber g -Mar q uardt 33 34 CAPÍTULO 3 Diseño de dispositivos pasivos de microondas Los dispositivos pasivos de microondas son los elementos clave en la mayoría de los sistemas de comunicaciones. En concreto, los filtros en alta frecuencia son de gran importancia debido a su empleo en muchas de las aplicaciones de las telecomunicaciones, como, por ejemplo, los sistemas de acceso inalámbrico, sistemas de comunicaciones móviles o sistemas de comunicaciones vía satélite. Por ello, el diseño de estos filtros es uno de los temas fundamentales en el desarrollo de cualquier sistema de comunicaciones; pero no es una tarea fácil, ya que la aparición de nuevas tecnologías y servicios han incrementado las necesidades de estos dispositivos, haciendo su diseño cada vez más complejo. De este modo, el desarrollo de nuevas estructuras para la implementación de filtros en altas frecuencias se basa en cumplir una serie de especificaciones, entre las que destacan: una masa y volumen reducidos, una buena estabilidad térmica para su uso en aplicaciones con altas potencias, y un incremento de la banda libre de frecuencias espúreas o banda de rechazo. Todo ello, junto con la necesidad de una reducción del esfuerzo de fabricación y la disponibilidad de herramientas para su análisis y diseño. Los filtros evanescentes en guía rectangular cargados con resonadores dieléctricos proporcionan una buena respuesta para las necesidades comentadas, ya que ofrecen una reducción en masa y volumen de alrededor del 50% y una mayor banda libre de espúreas, respecto a los filtros en tecnología guiada compuestos de sólo metal, así como una gran estabilidad térmica para aplicaciones de alta potencia. Además, si los resonadores dieléctricos son circulares, los filtros presentan una fabricación sencilla y una mayor capacidad de manejo de potencia. Sin embargo, el modelado exacto de este tipo de filtros es mucho más complejo que el de las estructuras metálicas convencionales, puesto que la geometría incluye partes circulares y rectangulares, metálicas y dieléctricas. Por esta razón, el diseño automatizado CAD (Diseño Asistido por Computador) de estos filtros está siendo objeto de una intensa investigación en los últimos años. En este capítulo se explican, de forma general, las estrategias y métodos más comunes en el diseño de dispositivos pasivos de comunicaciones en alta frecuencia, en especial los filtros de microondas. 35 3.1Introducción Una vez que se verifica el funcionamiento de los algoritmos programados con funciones de test, se insertan en el software de diseño del grupo de investigación, para proceder a aplicarlo en las distintas fases del proceso de diseño, de modo que se minimice la función de error entre la respuesta ideal del dispositivo y su respuesta real. Antes de exponer los resultados obtenidos, conviene explicar brevemente en qué se basa este proceso de diseño, para así comprenderse bien todas las medidas realizadas. Las técnicas clásicas de diseño de dispositivos de microondas se basan en herramientas de análisis, en las que el diseñador propone una determinada estructura y la analiza mediante alguna de estas herramientas. Si el resultado no es el deseado, entonces el diseñador modifica la estructura, según su intuición, y la vuelve a analizar, esto provoca que el proceso sea muy lento. Este proceso iterativo finaliza cuando los resultados obtenidos cumplen las especificaciones iniciales, lo cual, en ocasiones, es muy difícil. Por ello, actualmente, los dispositivos de microondas se obtienen mediante un diseño automatizado, realizado a través de una herramienta CAD que intenta evitar al máximo la intervención humana durante el proceso de diseño, mediante el uso de algoritmos de optimización. De todas formas, cualquier herramienta CAD necesita una herramienta de análisis exacta y eficiente para simular la estructura, como pueden ser los métodos de análisis aplicados en las técnicas clásicas. Los métodos para el análisis de los dispositivos de microondas existentes en la actualidad, pueden clasificarse en tres grandes grupos: o Los métodos analíticos o modales: proporcionan resultados muy exactos y de forma eficiente desde un punto de vista computacional. No obstante, son sólo aplicables a unos pocos problemas canónicos con geometrías regulares. o Los métodos numéricos o de discretización espacial: son capaces de analizar problemas con geometrías arbitrarias, pero su desventaja es el elevado consumo de memoria y de tiempo de CPU. o Los métodos híbridos: intentan aprovechar las ventajas de cada uno de los grupos anteriores, es decir, la eficiencia de los métodos modales y la flexibilidad de los métodos numéricos. Aunque su eficiencia es mayor que la de los métodos numéricos, dichos métodos resultan demasiado lentos para analizar una estructura tan compleja como los filtros con resonadores dieléctricos. Por tanto, ninguno de los tres tipos de métodos puede por sí solo analizar estructuras complicadas, como las que contienen resonadores dieléctricos, de forma suficientemente eficiente para abordar costosos procesos de diseño computacional. Por ello, el análisis de estas estructuras se hace normalmente distinguiendo las partes en las que están formadas, para aplicar en cada una de ellas el método de análisis que más se ajusta a sus características, es decir, las partes correspondientes a estructuras con geometrías regulares, se analizan de forma eficiente con un método analítico, y en las partes con geometrías arbitrarias o demasiado complejas para los métodos analíticos, como los postes dieléctricos, se aplica un método híbrido. 36 Este análisis sirve para simular la estructura durante el proceso de diseño y, a partir de los datos proporcionados, construir la función de error utilizada en los algoritmos de optimización. Esta función de error depende, normalmente, de las dimensiones físicas del dispositivo, las cuales constituyen los parámetros de diseño considerados en la optimización. Cuando se diseña una estructura compleja, el número de parámetros aumenta, haciendo poco eficiente la optimización de todos los parámetros a la vez, por lo que habrá que aplicar una estrategia de segmentación. Las estrategias de segmentación consisten en dividir la estructura bajo análisis en un conjunto de bloques. De este modo, en cada paso se diseñan los parámetros de cada bloque utilizando los valores obtenidos en los anteriores pasos, es decir, se van añadiendo los bloques sucesivamente. Tras haber optimizado la estructura por bloques, se optimizan todos los parámetros de diseño partiendo del punto inicial dado por las dimensiones obtenidas en los pasos anteriores. Estos pasos se repiten para todos los bloques, salvo si la estructura es simétrica, en cuyo caso sólo se optimiza la mitad del filtro. De este modo, una vez se han obtenido las dimensiones de la mitad del filtro, se construye el filtro completo aplicando la propiedad de simetría, y realizando, posteriormente, una optimización en la que sólo los parámetros del bloque central se ajustan ligeramente. Por tanto, realizando segmentación se aumenta la eficiencia del proceso, la cual puede incrementarse aún más si la estructura presenta simetría, ya que así se puede reducir el número de pasos del proceso. Sin embargo, si el diseño contiene cavidades o elementos resonantes, existe el riesgo de que el acoplo entre todas las cavidades, no se diseñe adecuadamente, haciendo que este acoplo no se tenga en cuenta. Esto provoca que el último paso de refinamiento de las dimensiones sea muy costoso debido a que el punto inicial proporcionado por el diseño de los distintos bloques está lejos de los valores óptimos, al no considerar todos los acoplos existentes. Por ello, se suelen hacer pasos intermedios de refinamiento, con el fin de mejorar el punto inicial de la última optimización. En cada paso de las estrategias seguidas, se aplican algoritmos de optimización durante el proceso de diseño. La idea fundamental de estas técnicas de diseño es la definición de una función de error entre la respuesta ideal y la respuesta real del dispositivo. Una vez definida esta función de error, el objetivo es encontrar la topología física del dispositivo para la cual la respuesta real se parece lo máximo posible a la ideal. Existen varias formas de construir esta función de error, que será la función objetivo a minimizar. La elección de cualquiera de ellas dependerá de la geometría del dispositivo, de su margen dinámico y de otros factores, pues hay que tener en cuenta que, en un diseño real no todas las configuraciones son posibles. La función objetivo tipo para la optimización de redes de microondas (como se ha dicho anteriormente) es: () ( ) ( ) ( ) [] ( ) ( )() [ ] {} ψ ψ ψ ω ψ ψ ψ ω ψψ lluu SxFSxFmáxxf ul − − =,,, },{ 37 donde: x : Vector de parámetros del dispositivo ψ : Variable independiente, normalmente frecuencia o tiempo () ψ ,xF : Respuesta real del dispositivo () ψ u S: Especificación superior () ψ l S: Especificación inferior () ψ ω u: Ponderación o peso para ( ) ψ u S () ψ ω l: Ponderación o peso para ( ) ψ l S u ψ : Límite superior para ψ (frecuencia o tiempo) l ψ : Límite inferior para ψ Un caso especial de esta formulación ocurre cuando se cumple: ( ) ( ) ( ) ψ ψ ψ SSS lu = = ( ) ( ) ( ) ψ ω ψ ω ψ ω = = lu Con lo que se tiene la función objetivo de tipo Chebyshev, cuya formulación es ( ) ( ) ( ) ( ) [ ] {} ( ) { } xemáxSxFmáxxf ulul },{},{ , ψψψψ ψψψω =−= donde () ( ) ( ) ( ) [ ] ψ ψ ψ ω SxFxe −= , Normalmente, estas dos funciones objetivo no se suelen utilizar ya que pueden presentar derivadas discontinuas, al tener las especificaciones ( ) ψ u S y ( ) ψ l S una variación muy abrupta. A parte de estas funciones, que utilizan una norma de tipo mínimas, existen otras basadas en, por ejemplo, la norma p-ésima o una de las más utilizadas en el diseño de dispositivos de microondas, la norma Huber, la cual viene definida por: () () ( ) () [] ()()() ()() ∑ = ==−= m iik ixexeHSxFHxf 1 , ρψψψω donde: () ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ >− ≤ = kesi k ek kesi e e ii i i ik 2 2 2 2 ρ 38 Partiendo de la expresión anterior, se observa que la norma Huber es una combinación de una función lineal o de norma uno, cuando el error es grande, y una función de segundo orden o norma cuadrática para errores pequeños, habiendo una transición suave entre las dos normas. La diferencia entre errores pequeños y grandes la marca la variable k. A parte de las funciones de error comentadas, existen otras que pueden consultarse en [2]. Una vez seleccionada la función de error a aplicar en el diseño, hay que minimizarla mediante algún algoritmo de optimización, con el fin de hallar los valores de sus variables, normalmente las dimensiones del filtro, para las que la diferencia entre la respuesta real e ideal es minima. Sin embargo, en este proceso de optimización hay que tener en cuenta que las dimensiones del dispositivo no pueden tomar cualquier valor, sino que estarán acotadas. Esto implica la necesidad de algoritmos en los que se puedan introducir restricciones como los algoritmos genéticos o evolutivos [5], que permiten establecer límites inferior y superior a los parámetros de diseño, pero que convergen muy lentamente. Los algoritmos de optimización que no consideran restricciones se utilizan cuando se dispone de una idea inicial de los parámetros lo suficientemente cercana a los valores óptimos para mantener al algoritmo dentro de la región permitida, ya que, al no considerar restricciones, siempre buscan el mínimo global que puede estar fuera de esta región, dando valores sin sentido físico, como, por ejemplo, longitudes negativas. Con esta se puede observar que no hay un algoritmo perfecto para minimizar la función de error del dispositivo, sino que, tienen sus ventajas e inconvenientes. Por ello, se suele aplicar una optimización híbrida, como por ejemplo, el Mapeado espacial agresivo [5] (ASM). En resumen, el proceso de diseño de dispositivos de microondas utilizado en la actualidad, se basa, en general, en seleccionar tres tipos de estrategias: o En primer lugar se tiene que decidir si se aplica la técnica de mapeado espacial agresivo o una optimización directa. o En segundo lugar se tiene que decidir si se considera toda la estructura o se aplica una estrategia de segmentación. o Y por último, si se utiliza uno o varios algoritmos de optimización, aplicando así una optimización híbrida. Por lo tanto, como ya se ha dicho anteriormente, el diseño sólo trata de conseguir la respuesta del dispositivo lo más parecida a la ideal, lo cual, en la mayoría de casos, se basa en la comparación del coeficiente de transmisión ( ) 21 S o el de reflexión () 11 S de las respuestas ideal y real. Tras haber presentado el proceso de diseño de forma genérica, se explica, a continuación, el proceso aplicado en este trabajo para el diseño de filtros evanescentes en guía rectangular cargados con resonadores dieléctricos. Otros ejemplos de diseño de dispositivos de microondas se pueden consultar en [2]. 39 3.2. Diseño de filtros evanescentes con resonadores dieléctricos Como se ha comentado al inicio, los filtros de alta frecuencia constituyen una parte fundamental en la mayoría de las aplicaciones de las telecomunicaciones. Las necesidades de los actuales sistemas de comunicaciones han aumentado la complejidad del diseño de estos filtros, motivando el desarrollo de nuevas estructuras para su implementación. Estas necesidades se centran en conseguir una masa y volumen reducidos, un incremento de la banda libre de frecuencias espurias o banda de rechazo, y una buena estabilidad térmica en aplicaciones de alta potencia. El uso de resonadores dieléctricos en filtros de microondas está aumentando debido a que proporcionan una importante reducción en la masa y el volumen del filtro, comparado con la tecnología sólo metal, además de conseguir una mayor estabilidad térmica en aplicaciones de alta potencia; con lo que cumplen dos de las necesidades comentadas. No obstante, el análisis de los campos eléctricos en estas estructuras es más complejo debido a la presencia de material dieléctrico, por lo que, actualmente, se están desarrollando diferentes herramientas de análisis por ordenador para obtener un modelado exacto de estas estructuras. Existen diferentes tipos de filtros cargados con resonadores dieléctricos que cumplen las especificaciones establecidas anteriormente y que están basadas en las estructuras metálicas utilizadas para implementar filtros. Entre estas estructuras, se encuentran los filtros de cavidades acopladas sin resonadores, los filtros evanescentes con postes metálicos, los filtros de cavidades acopladas con resonadores dieléctricos y los filtros evanescentes con postes dieléctricos. Este último tipo de filtro es el que mejores características presenta. Los filtros evanescentes en plano H con resonadores dieléctricos tienen una longitud y volumen más reducidos comparado con los filtros plano H de cavidades acopladas todo metal y los de cavidades acopladas con resonadores dieléctricos circulares. Además, este tipo de filtros presenta un mejor rechazo y una banda de espurias más estrecha que los filtros con cavidades acopladas con y sin resonadores dieléctricos. Figura 5.11: Filtro plano H de cuatro cavidades con resonadores dieléctricos. Vista superior 40 Otra ventaja de los filtros evanescentes con resonadores dieléctricos, a parte de una buena estabilidad térmica por el uso de estos resonadores, es un menor riesgo de multipactor, lo que los hace muy útiles para las aplicaciones de alta potencia. Esto se debe a que los postes dieléctricos se sitúan normalmente en el centro de la guía rectangular donde el campo eléctrico es máximo, aumentando de este modo la potencia máxima. De hecho, al ser la posición de los postes muy influyente en la distribución de los campos eléctricos y magnéticos, se han estudiado varias estructuras como los filtros con postes dieléctricos descentrados o los filtros periódicos con postes dieléctricos. Por otra parte, los resonadores dieléctricos de estos filtros evanescentes pueden ser circulares o cuadrados, siendo mejor el uso de resonadores circulares por reducir drásticamente el esfuerzo de fabricación y por presentar una longitud y volumen un poco inferiores respecto a los resonadores cuadrados. Sin embargo, los filtros evanescentes cargados con resonadores dieléctricos circulares están compuestos por dos guías rectangulares, de entrada y de salida, y una guía rectangular al corte que alberga los resonadores dieléctricos, como se puede observar en la figura 4.3. Por lo que deben analizarse geometrías circulares y cuadradas juntas, lo cual hace que el modelado de los resonadores dieléctricos circulares es mucho más complejo que el de los cuadrados. Figura 4.3: Filtro evanescente en plano H con resonadores dieléctricos circulares El primer paso en el proceso de diseño de estos filtros, es determinar los parámetros de diseño, que son: la anchura de la guía central ( ) w, el radio de los postes dieléctricos () i r, las distancias entre la guía de entrada y el primer resonador ( ) 1 l, y entre el último y la guía de salida () 1+n l, y las distancias entre los resonadores ( ) i l. Para ello, se fijan los parámetros que no son objeto de diseño, es decir, la altura de toda la estructura, la anchura de las guías de entrada y salida y la permitividad relativa de los resonadores dieléctricos. Figura 4.4: Parámetros de diseño 47 Como se observa, todos los métodos llegan al punto esperado [ ] ( ) 1,1 , obteniendo los métodos de MATLAB buenos resultados pero no tan buenos como los obtenidos en los métodos implementados por mí. El método más rápido en converger es el método Gauss-Newton haciéndolo con 4 iteraciones, además se obtiene un error mínimo de 5.9658·10-28. El método Quasi-Newton con la actualización BFGS obtiene mejores resultados que este método con la actualización AF. El método híbrido mejora los resultados obtenidos tanto con el método LevenbergMarquardt como con el método Quasi-Newton. Con los métodos implementados por mí se han obtenido mejores resultados en cuanto a número de evaluaciones e iteraciones y error obtenido. El método que mejores resultados obtiene es el método Gauss-Newton, convergiendo en 4 iteraciones y obteniendo un error de 6.0397·10-27. El método que peores resultados ha obtenido es el Quasi-Newton con la actualización AF. El método híbrido ha obtenido un error de 5.6643·10-21 que es menor que el obtenido con el método Levenberg-Marquardt (2.8382·10-11) y ha convergido con 12 iteraciones que es mucho menos que las iteraciones obtenidas con el método Quasi-Newton (251). X0=[0, 3] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [7.7716·10-14, 0] 6.0397·10-27 10 4 Gauss-Newton MATLAB [0.9944, 0.9876] [1.6787·10-5, 3.0559·10-5] 1.2157·10-9 22 4 LevenbergMarquardt [0.9999, 0.9999] [-9.0077·10-7, 5.2507·10-6] 2.8382·10-11 10 6 LevenbergMarquardt MATLAB [0.9995, 1.0000] [9.5412·10-6, 2.3941·10-7] 9.1091·10-11 36 11 Quasi-Newton (BFGS) [1.0000, 1.0000] [1.9318·10-13, 3.0309·10-14] 3.8237·10-26 1219 251 Quasi-Newton (AF) [1.0000, 1.0000] [-2.2204·10-15, - 7.2609·10-14] 5.2769·10-27 9766 1998 Híbrido [1.0000, 1.0000] [-3.0353·10-12, 7.5201·10-11] 5.6643·10-21 14 8 48 El método más rápido en converger es el método Levenberg-Marquardt que lo ha hecho con 12 iteraciones. El método que menor error ha obtenido es el Gauss-Newton, el cual ha obtenido un error de 4.9304·10-30 Se han obtenido mejores resultados con la actualización BFGS del método QuasiNewton que con la actualización AF. Tal como se ha mencionado en la teoría, con el método Híbrido se ha mejorado el error obtenido con el método Levenberg-Marquardt (1.2429·10-18 frente al 9.7668·10-14 del método LM) y se ha mejorado el número de iteraciones que con el método QuasiNewton (13 iteraciones frente las 1082 iteraciones del método Quasi-Newton). X0=[-1, 2] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [2.2204·10-15, 0] 4.9304·10-30 90 20 Gauss-Newton MATLAB [0.9993, 0.9977] [6.7258·10-6, 4.8838·10-7] 4.5476·10-11 53 9 LevenbergMarquardt [1.0000, 1.0000] [-2.0759·10-8, 3.1183·10-7] 9.7668·10-14 24 12 LevenbergMarquardt MATLAB [0.9997, 0.9991] [1.3403·10-6, 6.0159·10-8] 1.8001·10-12 42 13 Quasi-Newton (BFGS) [1.0000, 1.0000] [-1.3043·10-11, - 5.7698·10-12] 2.0341·10-22 5384 1082 Quasi-Newton (AF) [1.0000, 1.0000] [1.5543·10-14, 3.6660·10-13] 1.3463·10-25 55835 12648 Híbrido [1.0000, 1.0000] [-4.5683·10-11, 1.1139·10-9] 1.2429·10-18 26 13 X0=[2, 7] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [2.4425·10-14, 0] 5.9658·10-28 10 4 Gauss-Newton MATLAB [1.0055, 1.0098] [1.6782·10-5, 3.0560·10-5] 1.2155·10-9 22 4 LevenbergMarquardt [1.0000, 1.0000] [-9.1205·10-7, - 6.4036·10-6] 4.1837·10-11 24 13 LevenbergMarquardt MATLAB [1.0005, 1.0020] [9.4958·10-6, 2.8494·10-7] 9.0252·10-11 36 11 Quasi-Newton (BFGS) [1.0000, 1.0000] [-5.3957·10-13, - 1.1500·10-12] 1.6136·10-24 219 50 Quasi-Newton (AF) [1.0000, 1.0000] [4.8850·10-14, - 5.3135·10-13] 2.8472·10-25 20084 4057 Híbrido [1.0000, 1.0000] [3.6393·10-12, - 9.0532·10-11] 8.2093·10-21 28 15 49 Todos los métodos convergen en el punto [ ] ( ) 1,1 , que es el esperado según la teoría. Obteniendo mejores resultados de error, número de evaluaciones e iteraciones con los métodos míos. Con sólo 4 iteraciones y un error de 5.9658·10-28 el método Gauss-Newton converge, siendo éste el método más rápido. Se obtienen mejores resultados actualizando el método Quasi-Newton según BFGS que haciéndolo según AF. Con el método híbrido se mejoran los resultados obtenidos con el método LevenbergMarquardt y con el método Quasi-Newton. Todos los métodos convergen en el punto visto en teoría [ ] ( ) 1,1 , por lo que convergen correctamente. Además, el funcionamiento de los métodos implementados es más correcto que el funcionamiento de los métodos de MATLAB. El método que converge antes es el método Levenberg-Marquardt, mientras que el método Gauss-Newton obtiene un error nulo. Se obtienen mejores resultados del método Quasi-Newton con la actualización BFGS que con la actualización AF, que son los resultados esperados según lo visto en teoría. Con el método híbrido se obtiene un error de 1.1068·10-17, que es mucho menor que el error obtenido con el método Levenberg-Marquardt (6.4820·10-10) y converge con 7 iteraciones, por lo tanto ha convergido más rápido que el método Quasi-Newton. X0=[0.9, 1.1] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1, 1] [0, 0] 0 10 4 Gauss-Newton MATLAB [0.9998, 1.0001] [2.2415·10-6, 3.6052·10-8] 5.0254·10-12 22 4 LevenbergMarquardt [1.0000, 1.0000] [-7.8383·10-7, - 2.5448·10-5] 6.4820·10-10 8 5 LevenbergMarquardt MATLAB [0.9999, 1.0000] [4.6670·10-8, 1.8008·10-10] 2.1781·10-15 39 12 Quasi-Newton (BFGS) [1.0000, 1.0000] [2.0819·10-11, 1.5107·10-12] 4.3571·10-22 61 15 Quasi-Newton (AF) [1.0000, 1.0000] [-2.2204·10-14, - 3.7526·10-14] 1.9012·10-27 1401 310 Híbrido [1.0000, 1.0000] [1.2999·10-10, - 3.3242·10-9] 1.1068·10-17 12 7 50 Como se puede observar todos los métodos convergen, obteniendo con los métodos implementados por mí, mejores resultados en cuanto a número de evaluaciones e iteraciones y error obtenido. El método que ha convergido antes es el método Levenberg-Marquardt, con 18 iteraciones, y el que ha obtenido menor error es el Gauss-Newton (1.2326·10-28). El método que peores resultados obtiene es el Quasi-Newton con la actualización AF. El método híbrido ha mejorado los resultados obtenidos tanto con el método Levenberg-Marquardt (1.8269·10-19 frente a 9.9663·10-12 del método LM), como con el Quasi-Newton (20 iteraciones frente a las 96 del método QN). X0=[-1.9, 2] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [1.1102·10-14, 0] 1.2326·10-28 85 19 Gauss-Newton MATLAB [0.9935, 0.9876] [3.4268·10-6, 4.2103·10-5] 1.7844·10-9 71 11 LevenbergMarquardt [0.9999, 0.9999] [-7.3440·10-7, 7.9072·10-6] 6.3062·10-11 38 18 LevenbergMarquardt MATLAB [0.9992, 0.9979] [3.1097·10-6, 5.4425·10-7] 9.9663·10-12 59 17 Quasi-Newton (BFGS) [1.0000, 1.0000] [-2.9554·10-12, - 1.4480·10-12] 1.0831·10-23 454 96 Quasi-Newton (AF) [1.0000, 1.0000] [1.3323·10-14, - 8.8818·10-16] 1.7828·10-28 28292 5686 Híbrido [1.0000, 1.0000] [-1.7211·10-11, 4.2707·10-10] 1.8269·10-19 42 20 X0=[3, 6] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [5.7732·10-14, 0] 3.3329·10-27 15 5 Gauss-Newton MATLAB [1.0008, 1.0021] [2.5168·10-6, 6.5334·10-7] 6.7611·10-12 41 7 LevenbergMarquardt [1.0000, 1.0000] [-3.0659·10-6, - 1.4130·10-5] 2.0904·10-10 25 13 LevenbergMarquardt MATLAB [1.0005, 0.9992] [2.9208·10-5, 2.4757·10-7] 8.5315·10-10 39 12 Quasi-Newton (BUGS) [1.0000, 1.0000] [-2.4403·10-12, - 5.3610·10-12] 3.4696·10-23 286 65 Quasi-Newton (AF) [1.0000, 1.0000] [-4.4409·10-15, 7.6827·10-14] 5.9222·10-27 788 187 Híbrido [1.0000, 1.0000] [1.2426·10-11, - 3.1364·10-10] 9.8523·10-20 29 15 51 Con los métodos implementados por mí se han obtenido mejores resultados en cuanto a número de evaluaciones e iteraciones y error obtenido. El método que mejores resultados ha obtenido es el método Gauss-Newton, convergiendo en 5 iteraciones y obteniendo un error de 3.3329·10-27. El método Quasi-Newton con la actualización BFGS obtiene mejores resultados que este método con la actualización AF. El método híbrido ha mejorado los resultados obtenidos tanto con el método Levenberg-Marquardt como con el Quasi-Newton. Como se puede observar todos los métodos convergen, obteniendo mejores resultados con los métodos implementados por mí. El método que ha convergido más rápido es el método Gauss-Newton, haciéndolo con 4 iteraciones y obteniendo un error de 4.9304·10-30, que es el menor error obtenido. Se obtienen mejores resultados del método Quasi-Newton con la actualización BFGS que con la actualización AF, que son los resultados esperados según lo visto en t El método híbrido ha convergido más rápido que el método Quasi-Newton, ya que ha convergido con 8 iteraciones y ha mejorado el error obtenido con el método LevenbergMarquardt, ya que se ha obtenido 4.9304·10-30. X0=[0.5, 0.5] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [2.2204·10-15, 0] 4.9304·10-30 10 4 Gauss-Newton MATLAB [1.0000, 1.0000] [6.7199·10-15, 5.8609·10-17] 4.5161·10-29 29 5 LevenbergMarquardt [0.9999, 0.9999] [-1.4674·10-6, 6.7321·10-6] 4.7474·10-11 10 6 LevenbergMarquardt MATLAB [0.9994, 0.9989] [2.5083·10-8, 2.5607e-·10-7] 6.6200·10-14 33 10 Quasi-Newton (BFGS) [1.0000, 1.0000] [0, -4.4409·1016] 1.9722·10-31 116 27 Quasi-Newton (AF) [1.0000, 1.0000] [2.4425·10-14, 2.1705·10-13] 4.7707·10-26 5942 1336 Híbrido [1.0000, 1.0000] [-3.5416·10-12, 8.7760·10-11] 7.7143·10-21 14 8 52 Todos los métodos convergen en el punto visto en teoría [ ] ( ) 1,1 , por lo que convergen correctamente. Además, el funcionamiento de los métodos implementados es más correcto que el funcionamiento de los métodos de MATLAB. El método que antes ha convergido, con 4 iteraciones, y que menos error ha obtenido, 5.9658·10-28, es el Gauss-Newton. El método Quasi-Newton con la actualización BFGS obtiene mejores resultados que este método con la actualización AF. El método híbrido ha mejorado los resultados obtenidos tanto con el método Levenberg-Marquardt, (menos error) como con el Quasi-Newton (menos iteraciones). X0=[2, 0] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [2.4425·10-14, 0] 5.9658·10-28 10 4 Gauss-Newton MATLAB [0.9993, 0.9977] [6.4293·10-6, 4.9502·10-7] 4.1581·10-11 49 8 Levenberg-Marquardt [1.0000, 1.0000] [-1.3692·10-7, 1.2588·10-6] 1.6033·10-12 14 8 Levenberg-Marquardt MATLAB [1.0002, 0.9992] [1.4900·10-5, 5.9109·10-8] 2.2201·10-10 39 12 Quasi-Newton (BFGS) [1.0000, 1.0000] [-2.8122e-012, 3.3399e-012] 1.9063·10-23 155 37 Quasi-Newton (AF) [1.0000, 1.0000] [3.7748e-014, - 6.5370e-013] 4.2875·10-25 161484 36074 Híbrido [1.0000, 1.0000] [-3.2641e-013, 8.1806e-012] 6.7028·10-23 18 10 x0=[2, 6] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [2.4425·10-14, 0] 5.9658·10-28 10 4 Gauss-Newton MATLAB [1.0041, 1.0057] [5.8608·10-5, 1.6615·10-5] 3.7109·10-9 29 5 LevenbergMarquardt [1.0000, 1.0000] [-1.5722·10-9, - 5.1543·10-7] 2.6567·10-13 24 13 LevenbergMarquardt MATLAB [1.0011, 1.0031] [9.4905·10-6, 1.1118·10-6] 9.1307·10-11 33 10 Quasi-Newton (BUGS) [1.0000, 1.0000] [-1.0519·10-11, 2.9611·10-11] 9.8749·10-22 222 50 Quasi-Newton (AF) [1.0000, 1.0000] [4.4409·10-14, - 5.6866·10-13] 3.2534·10-25 64516 15865 Híbrido [1.0000, 1.0000] [7.3417·10-11, - 1.9117·10-9] 3.6599·10-18 26 14 53 Todos los métodos convergen, obteniendo con mis métodos mejores resultados de error (5.9658·10-28), número de evaluaciones (10) e iteraciones (4). El método que antes ha llegado al punto [ ] 1,1 es el método Gauss-Newton, además éste obtiene un error menor. El método Quasi-Newton con la actualización BFGS obtiene mejores resultados que este método con la actualización AF. El método híbrido ha obtenido un error de 3.6599·10-18 que es menor que el obtenido con el método Levenberg-Marquardt (2.6567·10-13) y ha convergido con 14 iteraciones que es mucho menos que las iteraciones obtenidas con el método Quasi-Newton (50). Todos los métodos convergen en el punto visto en teoría, y como se puede ver en la tabla resumen, se obtienen mejores resultados con los métodos implementados por mí. El método que peores resultados ha obtenido es el Quasi-Newton con la actualización AF. Con el método híbrido se ha obtenido un error de 3.9747·10-20, que es mucho mejor que el error obtenido con el método Levenberg-Marquardt (8.6830·10-11) y ha convergido con 25 iteraciones, por lo tanto ha convergido más rápido que el método QuasiNewton. X0=[-2, -1] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [5.5511·10-14, 0] 3.0815·10-27 25 7 Gauss-Newton MATLAB [1.0036, 1.0090] [3.0105·10-5, 1.3308·10-5] 1.0834·10-9 43 7 LevenbergMarquardt [0.9999, 0.9999] [-1.7190·10-6, 9.1583·10-6] 8.6830·10-11 21 11 LevenbergMarquardt MATLAB [0.9996, 0.9975] [2.9201·10-5, 1.3495·10-7] 8.5274·10-10 42 13 Quasi-Newton (BFGS) [1.0000, 1.0000] [4.4076·10-13, 2.7867·10-14] 1.9504·10-25 417 92 Quasi-Newton (AF) [1.0054, 1.0109] [-4.4409·10-15, - 2.8859·10-12] 8.3285·10-24 4472431 1007159 Híbrido [1.0000, 1.0000] [-8.0003·10-12, 1.9921·10-10] 3.9747·10-20 25 13 54 Todos los métodos llegan al punto de convergencia visto en teoría, obteniendo con mis métodos mejores resultados de error, número de evaluaciones e iteraciones que con MATLAB. El método que más rápido ha convergido con 4 iteraciones y que menos error ha obtenido, 4.0739·10-24, es el Gauss-Newton. El método Quasi-Newton con la actualización BFGS obtiene mejores resultados que este método con la actualización AF. El método híbrido ha mejorado los resultados obtenidos tanto con el método Levenberg-Marquardt como con el Quasi-Newton. X0=[4, -2] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [2.0184·10-12, 0] 4.0739·10-24 10 4 Gauss-Newton MATLAB [0.9998, 1.0023] [6.9276·10-5, 2.9270·10-8] 4.7991·10-9 35 6 LevenbergMarquardt [0.9999, 0.9999] [-1.9068·10-6, 9.8289·10-6] 1.0024·10-10 23 12 LevenbergMarquardt MATLAB [1.0015, 0.9897] [1.7375·10-3, 2.1556·10-6] 3.0190·10-6 36 11 Quasi-Newton (BFGS) [1.0000, 1.0000] [-4.8765·10-11, - 5.2620·10-11] 5.1469·10-21 240 56 Quasi-Newton (AF) [1.0000, 1.0000] [-8.8818·10-15, 5.0249·10-13] 2.5257·10-25 2904778 583749 Híbrido [1.0000, 1.0000] [-8.8152·10-12, 2.1967·10-10] 4.8332·10-20 27 14 X0=[6, 11] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [3.1553·10-12, 0] 9.9556·10-24 15 5 Gauss-Newton MATLAB [1.0043, 1.0098] [1.4655·10-5, 1.8294·10-5] 5.4944·10-10 82 13 LevenbergMarquardt [1.0000, 1.0000] [-1.7035·10-8, - 8.3948·10-7] 7.0502·10-13 32 17 LevenbergMarquardt MATLAB [1.0012, 0.9902] [1.4899·10-3, 1.5136·10-6] 2.2197·10-6 39 12 Quasi-Newton (BFGS) [1.0000, 1.0000] [1.4845·10-11, 9.8850·10-12] 3.1808·10-22 489 105 Quasi-Newton (AF) [1.0003, 1.0006] [-1.1102·10-15, 7.5051·10-14] 5.6339·10-27 31111 6228 Híbrido [1.0000, 1.0000] [1.2906·10-10, - 3.3760·10-9] 1.1414·10-17 34 18 55 Todos los métodos convergen en el punto [ ] ( ) 1,1 , que es el esperado según la teoría. Obteniendo mejores resultados de error, número de evaluaciones e iteraciones con los métodos míos. Con sólo 4 iteraciones y un error de 5.9658·10-28 el método Gauss-Newton converge, siendo éste el método más rápido. Se obtienen mejores resultados actualizando el método Quasi-Newton según BFGS que haciéndolo según AF. Con el método híbrido se ha mejorado el error obtenido con el método LevenbergMarquardt (1.1414·10-17 frente al 7.0502·10-13 del método LM) y el número de iteraciones es de 18 que ha mejorado las 105 iteraciones del método Quasi-Newton. Todos los métodos convergen en el punto esperado, obteniendo con los métodos implementados por mí mejores resultados de error, número de evaluaciones e iteraciones. El método que mejores resultados obtiene es el Gauss-Newton, convergiendo en 9 iteraciones y obteniendo un error de 5.0487·10-27. El método Quasi-Newton con la actualización BFGS obtiene mejores resultados que este método con la actualización AF. El método híbrido ha mejorado los resultados obtenidos tanto con el método Levenberg-Marquardt, en cuanto a error obtenido, como con el Quasi-Newton, convergiendo en 22 iteraciones en vez de en 143. X0=[-3, 3] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [7.1054·10-14, 0] 5.0487·10-27 35 9 Gauss-Newton MATLAB [0.9994, 0.9996] [5.1672·10-6, 2.8479·10-7] 2.6781·10-11 55 9 LevenbergMarquardt [0.9999, 0.9999] [-1.3741·10-6, 7.4670·10-6] 5.7645·10-11 41 20 LevenbergMarquardt MATLAB [0.9993, 0.9957] [8.1727·10-5, 5.2615·10-7] 6.6795·10-9 44 13 Quasi-Newton (BFGS) [1.0000, 1.0000] [-7.7716·10-15, 2.8644·10-14] 8.8086·10-28 681 143 Quasi-Newton (AF) [1.0000, 1.0000] [-2.2204·10-15, - 5.3735·10-14] 2.8924·10-27 887589 177681 Híbrido [1.0000, 1.0000] [-5.4567·10-12, 1.3556·10-10] 1.8406·10-20 45 22 56 Todos los métodos convergen en el punto esperado según la teoría. Obteniendo mejores resultados de error, número de evaluaciones e iteraciones con los métodos míos. El método más rápido en converger es el Gauss-Newton, haciéndolo en 4 iteraciones, además ha obtenido un error de 4.9304·10-30, que es el menor error obtenido. Se obtienen mejores resultados del método Quasi-Newton con la actualización BFGS que con la AF, que son los resultados esperados según lo visto en teoría. El método híbrido ha convergido en 7 iteraciones, por lo que lo ha hecho más rápido que el método Quasi-Newton. Con este método también se ha obtenido un error menor que con el Levenberg-Marquardt, obteniendo un error de 3.2263·10-19. X0=[0.2, 4.8] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [2.2204·10-15, 0] 4.9304·10-30 10 4 Gauss-Newton MATLAB [1.0009, 0.9989] [8.0345·10-5, 7.2492·10-7] 6.4559·10-9 23 4 LevenbergMarquardt [1.0000, 1.0000] [-2.9567·10-8, 2.7520·10-7] 7.6611·10-14 10 6 LevenbergMarquardt MATLAB [0.9998, 1.0006] [1.0118·10-5, 3.6866·10-8] 1.0238·10-10 39 12 Quasi-Newton (BUGS) [1.0000, 1.0000] [-1.9063·10-10, 1.8749·10-10] 7.1493·10-20 7425 1492 Quasi-Newton (AF) [1.0000, 1.0000] [-8.6597·10-14, - 3.1064·10-12] 9.6572·10-24 2942418 679787 Híbrido [1.0000, 1.0000] [-2.3492·10-11, 5.6752·10-10] 3.2263·10-19 12 7 X0=[0, 1] MÉTODO X K(x) F(x) nEval nIter Gauss-Newton [1.0000, 1.0000] [7.7716·10-14, 0] 6.0397·10-27 10 4 Gauss-Newton MATLAB [0.9993, 0.9981] [3.3780·10-6, 4.5598·10-7] 1.1619·10-11 35 6 LevenbergMarquardt [0.9999, 0.9999] [-3.3535·10-6, 2.7810·10-5] 7.8466·10-10 13 7 LevenbergMarquardt MATLAB [0.9980, 0.9961] [2.2524·10-9, 3.8622·10-6] 1.4917·10-11 30 9 Quasi-Newton (BUGS) [1.0000, 1.0000] [-8.7264·10-12, 1.3524·10-11] 2.5904·10-22 41523 8314 Quasi-Newton (AF) [1.0000, 1.0000] [2.2204·10-15, 2.3981·10-14] 5.8001·10-28 1987436 397509 Híbrido [1.0000, 1.0000] [-1.4014·10-10, 3.4404·10-9] 1.1856·10-17 17 9 63 10.8 10.85 10.9 10.95 11 11.05 11.1 11.15 11.2 -0.05 -0.045 -0.04 -0.035 -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 GHz dB Parámetro S 21 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal La curva del comportamiento real del dispositivo (curva azul) está por encima de la curva del comportamiento ideal de éste (curva verde). Ambas curvas están por encima de la recta de las pérdidas de inserción (recta roja). o Método Quasi-Newton según Broyden-Fletcher-Goldfarb-Shanno: xfin [2.4179, 0.7777, 10.1820, 2.1696, 10.9919] kfin [0.2970, 0.2970] F(x) 0.1764 nEval 3 nIter 1 64 10.8 10.85 10.9 10.95 11 11.05 11.1 11.15 11.2 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0 GHz dB Parámetro S 11 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal La curva del comportamiento real del dispositivo (la azul) esta por debajo de la curva de la respuesta ideal de éste (verde) por lo que el comportamiento es correcto. Ambas están por debajo de la recta de las pérdidas de retorno (rojo). 10.8 10.85 10.9 10.95 11 11.05 11.1 11.15 11.2 -0.05 -0.045 -0.04 -0.035 -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 GHz dB Parámetro S 21 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal 65 Tanto la estructura diseñada (azul) como la respuesta ideal (verde) están por encima de la recta de las pérdidas de inserción (rojo). El comportamiento de la estructura diseñada esta por encima del comportamiento ideal del dispositivo. o Método Quasi-Newton según Al-Baali y Fletcher: xfin [2.4179, 0.7777, 10.1820, 2.1696, 10.9919] kfin [0.2970, 0.2970] F(x) 0.1764 nEval 3 nIter 1 10.8 10.85 10.9 10.95 11 11.05 11.1 11.15 11.2 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0 GHz dB Parámetro S 11 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal El comportamiento del dispositivo es correcto ya que la estructura diseñada tiene la curva por debajo de la de la estructura ideal y ambas están por debajo de las pérdidas de retorno. 66 10.8 10.85 10.9 10.95 11 11.05 11.1 11.15 11.2 -0.05 -0.045 -0.04 -0.035 -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 GHz dB Parámetro S 21 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal Tanto el comportamiento real del dispositivo (curva azul) como el comportamiento ideal de éste (curva verde) están por encima de la recta de las pérdidas de inserción (recta roja). El comportamiento real del dispositivo esta por encima del comportamiento ideal. o Método híbrido: Xfin [2.4175, 0.7775, 10.1824, 2.1698, 10.9924] Kfin [0.2832, 0.2832] F(x) 0.1603 nEval 54 nIter 23 67 10.8 10.85 10.9 10.95 11 11.05 11.1 11.15 11.2 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0 GHz dB Parámetro S 11 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal Tanto el comportamiento real del dispositivo (curva azul) como el comportamiento ideal de éste (curva verde) están por debajo de la recta de las pérdidas de retorno (curva roja). El comportamiento real del dispositivo esta por debajo del comportamiento ideal. 10.8 10.85 10.9 10.95 11 11.05 11.1 11.15 11.2 -0.05 -0.045 -0.04 -0.035 -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 GHz dB Parámetro S 21 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal 68 La curva de la estructura diseñada (la azul) esta por encima de la curva de la respuesta ideal (la verde) por lo que el comportamiento es correcto. Ambas curvas están por encima de la recta de las pérdidas de inserción (la roja). o Método Gauss-Newton de MATLAB: xfin [2.4160, 0.7775, 10.1844, 2.1698, 10.9938] kfin [0.2777, 0.2777] F(x) 0.0771 nEval 503 nIter 56 10.8 10.85 10.9 10.95 11 11.05 11.1 11.15 11.2 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0 GHz dB Parámetro S 11 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal Tanto la estructura diseñada (azul) como la respuesta ideal (verde) están por debajo de la recta de las pérdidas de retorno (rojo). El comportamiento de la estructura diseñada esta por debajo del comportamiento ideal del dispositivo. 69 10.8 10.85 10.9 10.95 11 11.05 11.1 11.15 11.2 -0.05 -0.045 -0.04 -0.035 -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 GHz dB Parámetro S 21 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal La curva del comportamiento real del dispositivo (curva azul) está por encima de la curva del comportamiento ideal de éste (curva verde). Ambas curvas están por encima de la recta de las pérdidas de inserción (recta roja). o Método Levenberg-Marquardt de MATLAB: xfin [2.4171, 0.7775, 10.1831, 2.1699, 10.9928] kfin 0.4714 F(x) 0.2222 nEval 26 nIter 183 70 10.7 10.8 10.9 11 11.1 11.2 11.3 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0 GHz dB Parámetro S11 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal La curva del comportamiento real del dispositivo (la azul) esta por debajo de la curva de la respuesta ideal de éste (verde) por lo que el comportamiento es correcto. Ambas están por debajo de la recta de las pérdidas de retorno (rojo). 10.7 10.8 10.9 11 11.1 11.2 11.3 -0.05 -0.045 -0.04 -0.035 -0.03 -0.025 -0.02 -0.015 -0.01 -0.005 0 GHz dB Parámetro S 21 del filtro de modo evanescente con postes dielectricos Estructura Diseñada Respuesta Ideal Tanto el comportamiento real del dispositivo (curva azul) como el comportamiento ideal de éste (curva verde) están por encima de la recta de las pérdidas de inserción (recta roja). El comportamiento real del dispositivo esta por encima del comportamiento ideal. 71 72 CAPÍTULO 5 Conclusiones En este capítulo se exponen las principales conclusiones a las que se llega tras el análisis de los resultados obtenidos por los programas realizados para los métodos de mínimos cuadrados y por los resultados obtenidos en el diseño de filtros evanescentes con postes dieléctricos. Estas conclusiones son las siguientes: 1En primer lugar, se ve que los cinco métodos evaluados de Mínimos Cuadrados: Método de Gauss-Newton, Método de Levenberg-Marquardt, Método Quasi-Newton (con las dos actualizaciones de la Hessiana) y Método Híbrido han convergido en el punto esperado de la función de Rosenbrock [ ] ( ) 1,1 = x con una precisión muy buena, llegando en algunos casos a ser prácticamente 0 el error, aunque el número de evaluaciones ha variado bastante, lo cual se ha verificado que se han implementado bien los métodos y que funcionan bien. 2En cuanto a máxima precisión se refiere, el método con el que mejores resultados se ha obtenido es sin duda el de Gauss-Newton, con el cual el error más elevado que se ha obtenido es del orden de 10-23, y se ha obtenido un número de evaluaciones menor en todos las pruebas realizadas. Puede considerarse un comportamiento excelente de este método. 3Se ha comparado el funcionamiento del método Gauss-Newton con el de la función lsqnonlin del programa MATLAB, viéndose que el método programado necesita menos evaluaciones de la función objetivo y que tiene un error máximo menor que el de MATLAB. 4Respecto a la comparación del método Levenberg-Marquardt programado con el obtenido con la función lsqnonlin, se ha obtenido un error máximo del orden 10-10 con el programa implementado y un error del orden 10-6 con el programa MATLAB, siendo el número de evaluaciones de la función menor para el implementado que para el de MATLAB, lo cual significa que el funcionamiento del programa implementado se puede considerar excelente. 5Se ha comprobado que la actualización de la Hessiana según Broyden-FletcherGoldfarb-Shanno presenta mejor comportamiento que según Al-Baali y Fletcher, ya que aunque se obtiene un error máximo del orden de 10-20 frente al 10-19 que se obtiene en AF, el número de evaluaciones varía bastante, según BFGS son 41523 frente a las 84115950 evaluaciones del método según AF. Por lo que se ha determinado que la actualización según BFGS, es mucho más rápida y robusta que la actualización AF. Por lo que ésta se ha utilizado en el método Híbrido. 79 while ~stop nIter=nIter+1; if any(isinf(d(:))) %Se busca si hay algún infinito en el vector d stop=-5; %Si hay un infinito hay desbordamiento (-5) else Evals=maxEval-Eval; [xfin,stop,numEval]=LineSearch(k,x0,k0,d,h,Evals); for i=1:n kfin(i)=feval(char(k(i)),xfin); end %for, calculo kfin ffin=kfin*kfin'; Eval=Eval+numEval+1; if any(isinf(kfin(:)))||isinf(ffin) stop=-5; elseif abs(xfin-x0)<=xtol stop=2; %se ha logrado un incremento muy pequeño en x elseif abs(ffin-f0)<=ftol stop=1; %se ha logrado un incremento muy pequeño en el valor de la función elseif nIter>maxIter stop=3; %se ha sobrepasado el número máximo de iteraciones end %elseif s=xfin-x0; Jfin=Jacobiana(k,xfin,h); gradfin=2*Jfin'*kfin'; q=gradfin-grad; x0=xfin; k0=kfin; f0=ffin; grad=gradfin; end %if-else if ~stop s=s'; A=(q*q')/(q'*s); C=-(B*s*s'*B)/(s'*B*s); B=B+A+C; d=pasoQN(B^(-1),grad); Eval=Eval+m; end %if end %while nEval=Eval; end 80 o Método Quasi-Newton según Al-Baali y Fletcher: esta función resuelve el problema de mínimos cuadrados con el método Quasi-Newton con la actualización de la Hessiana según Al-Baali y Fletcher. function [xfin,kfin,ffin,nEval,nIter,stop]= metodoQN_ingles(k,x0,xtol,ftol,maxIter,maxEval) stop=0; m=length(x0); n=length(k); Eval=0; nIter=0; h=1e-9; B=eye(m); J=Jacobiana(k,x0,h); k0=zeros(1,n); kfin=zeros(1,n); for i=1:n k0(i)=feval(char(k(i)),x0); end %for, calculo k0 f0=k0*k0'; grad=2*J'*k0'; d=pasoQN(B,grad); while ~stop nIter=nIter+1; if any(isinf(d(:))) %Se busca si hay algún infinito en el vector d stop=-5; %Si hay un infinito hay desbordamiento (-5) else Evals=maxEval-Eval; [xfin,stop,numEval]=LineSearch(k,x0,k0,d,h,Evals); for i=1:n kfin(i)=feval(char(k(i)),xfin); end %for, calculo kfin ffin=kfin*kfin'; Eval=Eval+numEval+1; if any(isinf(kfin(:)))||isinf(ffin) stop=-5; elseif abs(xfin-x0)<=xtol stop=2; %se ha logrado un incremento muy pequeño en x elseif abs(ffin-f0)<=ftol stop=1; %se ha logrado un incremento muy pequeño en el valor de la función elseif nIter>maxIter stop=3; %se ha sobrepasado el número máximo de iteraciones end %elseif s=(xfin-x0)'; Jfin=Jacobiana(k,xfin,h); y=Jfin'*Jfin*s+(Jfin-J)'*kfin'; v=B*s; gradfin=2*Jfin'*kfin'; x0=xfin; k0=kfin; 81 f0=ffin; grad=gradfin; end %if-else if ~stop if (s'*y>0) A=((1/(s'*y))*y)*y'; C=-(((1/(s'*v))*v)*v'); B=B+A+C; end d=pasoQN(B^(-1),grad); Eval=Eval+m; end %if end %while nEval=Eval; end o Dirección método Quasi-Newton: esta función calcula la dirección de avance del método Quasi-Newton, independientemente la actualización de la Hessiana utilizada: function d=pasoQN(B,grad) d=(-B*grad)'; end o Método Híbrido: esta función resuelve el problema de mínimos cuadrados con la hibridación de los método Levenberg-Marquardt y Quasi-Newton según BroydenFletcher-Goldfarb-Shanno: function [xfin,kfin,ffin,nEval,nIter,stop]= metodoHibrido(k,x0,xtol,ftol,maxIter,maxEval) contador=1; stop=0; n=length(k); Eval=0; nIter=0; k0=zeros(1,n); kfin=zeros(1,n); for i=1:n k0(i)=feval(char(k(i)),x0); end %for, calcul k0 f0=k0*k0'; while ~stop if contador<=3 [xfin,kfin,ffin,nEval,nIter,stop]=metodoLM(k,x0,xtol,ftol,maxIter,maxEval); else [xfin,kfin,ffin,nEval,nIter,stop]=metodoQN(k,x0,xtol,ftol,maxIter,maxEval); end %if-else contador=contador+1; end %while end 82 o LineSearch: función que implementa el algoritmo de búsqueda lineal utilizada para resolver problemas de mínimos cuadrados. function [x,stop,Eval]=LineSearch(k,x0,k0,d,h,maxEval) stop=0; [alfa,encontrado,Eval]=calculoalfa(k,x0,k0,d,h,maxEval); x=x0+(alfa*d); if ~encontrado x=x0; stop=3; end end o Calculo de α : el paso α es necesario para hallar el mínimo a lo largo de la dirección, se calcula mediante una combinación de interpolación cuadrática y cúbica. function [alfa,encontrado,Eval]=calculoalfa(k,x0,k0,d,h,maxEval) J0=Jacobiana(k,x0,h); g0=k0*k0'; gprima0=2*k0*J0*d'; alfa1=1; alfa=alfa1; x1=x0+(alfa1*d) n=length(k); k1=zeros(1,n); k2=zeros(1,n); for i=1:n k1(i)=feval(char(k(i)),x1); end %for, calculo k1 g1=k1*k1'; %para α1Æg(α1)=g(x0+d)=f(x0+ α1·d) Eval=1; encontrado=0; lambda=1e-3; % valor por defecto de lambda if g1<=g0+(lambda*gprima0*alfa1) alfa=alfa1; encontrado=1; else alfa2=intercuadratica(g0,gprima0,alfa1,g1); x2=x0+(alfa2*d); for i=1:n k2(i)=feval(char(k(i)),x2); end %for, calculo k2 g2=k2*k2'; Eval=Eval+1; encontrado=0; 83 while ~encontrado&& Eval<maxEval if g2<=g0+(lambda*gprima0*alfa2) alfa=alfa2; encontrado=1; else alfaprima=intercubica(g0,gprima0,alfa1,g1,alfa2,g2); alfa1=alfa2; g1=g2; alfa2=alfaprima; x2=x0+(alfa2*d); %Se recalcula g2 con la nueva alfa2 for i=1:n k2(i)=feval(char(k(i)),x2); end %for, calculo k2 g2=k2*k2'; Eval=Eval+1; end %if-else end %while end %if-else end o Interpolación cuadrática: function alfa2=intercuadratica (g0,gprima0,alfa1,g1) b=gprima0; c=g0; a=(g1-(b*alfa1-c))/(alfa1.^2); alfa2=-b/(2*a); end o Interpolación cúbica: function alfaprima=intercubica(g0,gprima0,alfa1,g1,alfa2,g2) c=gprima0; factor1=1/(alfa1-alfa2); factor2=[1/(alfa1^2) -1/(alfa2^2);-alfa2/alfa1^2 alfa1/alfa2^2]; factor3=[g1-(gprima0*alfa1)-gprima0;g2-(gprima0*alfa2)-g0]; ab=factor1*factor2*factor3; a=ab(1); b=ab(2); alfaprima=(-b+(sqrt(b^2-(3*a*c))))/(3*a); end 84 o Jacobiana: esta función realiza la aproximación numérica del Jacobiano de una función en un punto. function J=Jacobiana(k,x0,h) n=length(k); m=length(x0); J=zeros(n,m); for i=1:n J(i,:)=gradiente(char(k(i)),x0,h); end end o Gradiente: esta función calcula el valor aproximado del gradiente de una función evaluada en un punto. function grad=gradiente (f,x0,h) n=length (x0); f0=feval(f,x0); grad=zeros(1,n); aux=h*eye(n); for i=1:n xaux=x0+aux(i,:); faux=feval(f,xaux); grad(1,i)=(faux-f0)/h; end end o Coeficientes función Rosenbrock: función utilizada en cada método, cuyo mínimo es conocido: o Primer coeficiente: function f=f1(x) f=10.*(x(2)-(x(1).^2)); end o Segundo coeficiente: function f=f2(x) f=1-x(1); end 85 86 Bibliografía [1] Roger Fletcher. Practical Methods of Optimization. John Wiley & Sons, 2001. [2] John W. Bandler. Optimization methods for compute-aided design. IEEE Trans. Microwave Theory Tech, 17:533-552, 1969 [3] Antonio Marco Aguilar. Optimización multiobjetivo aplicada al diseño de dispositivos pasivos de comunicaciones de alta frecuencia. Escuela Técnica Superior de Ingenieros de Telecomunicación. Universidad Politécnica de Valencia, 2007 [4] Pedro Gómez Martínez. Optimización de funciones multidimensionales sujetas a restricciones. Aplicación al diseño de filtros de microondas. Escuela Técnica Superior de Ingenieros de Telecomunicación. Universidad Politécnica de Valencia, 2005. [5] Héctor Esteban. Ingenería Avanzada de microondas. Curso de doctorado, programa de comunicaciones, Universidad Politécnica de Valencia, 2003-2004. [6] Optimization Toolbox User’s Guide. The MathWorks, Inc. Version 3, September 2005. [7] Darren Redfern and Colin Campbell, The MATLAB 5 Handbook. Springer, 1997. [8] k. Madsen, H.B. Nielsen, O. Tingleff, Methods for non-linear least squares problems, 2nd Edition. IMM DTU (2004) [9] C. Bachiller, H. Esteban, V.E. Boria, J.V. Morro, L. J. Roglá, M. Taroncher and A. Belenguer. Efficient CAD tool of Direct-Coupled-Cavities Filters with Dielectric Resonators. IEEE, 2005. [10] C. Bachiller, H. Esteban, V.E. Boria, J.V. Morro, M. Taroncher and B. Gimeno. CAD of Evanescent Mode Waveguide Filters with Circular Dielectric Resonators. IEEE, pp. 1567-1570, 2006.