Categorías
Herramientas / EDA

QucsStudio: Potente Simulador de Circuitos

El préfijo Qucs (Quite Universal Circuit Simulator) hace referencia a una familia de simuladores de circuitos electrónicos que se pueden usar de forma gratuita: Qucs original, Qucs-S y QucsStudio. Todas las variantes constan de un interfaz gráfico muy potente y efectivo, incluso mejor diseñado que el de otras herramientas de pago. Por ello este simulador resulta muy atractivo para todo tipo de usuarios, tanto para aficionados como en entornos profesionales.

Este artículo se centra en la variante más ambiciosa, denominada QucsStudio, y repasa todas sus posibilidades de diseño y simulación. Los conceptos que se detallan y las imágenes que se muestran a continuación se han obtenido en su mayoría de la propia web de QucsStudio, de sus proyectos de ejemplo, o de sus vídeos de demostración.

El contenido está organizado de la siguiente manera:

1. Contexto: Qucs y sus variantes

Esta sección desarrolla brevemente la historia de Qucs original y sus variantes, Qucs-S y QucsStudio.

1.1 Qucs Original

Qucs fue desarrollado originalmente por Stefan Jahn y Michael Margraf entre otros. Su objetivo original consiste en convertirse en un simulador total de circuitos electrónicos, incluyendo las simulaciones típicas de SPICE (DC, AC, transitorio) y también las propias del diseño de RF (S-parameters, Harmonic Balance).

Las dos características principales de Qucs son las siguientes. En primer lugar emplea su propio motor de simulación, Qucsator, diferente a SPICE. Además presenta un interfaz gráfico muy bien diseñado, basado en Qt, que resulta muy cómodo y efectivo para el usuario.

1.2 Qucs-S

Qucs-S (también referido como Qucs con Spice) extiende el Qucs original y permite emplear, además de Qucsator, motores de simulación libres basados en SPICE (Ngspice, XYCE, SpiceOPus). Sus principales desarrolladores son Vadim Kusnetsov y Mike Brinson.

1.3 QucsStudio

QucsStudio es otro simulador de circuitos que ha evolucionado a partir del proyecto Qucs original. Desarrollado de forma autónoma por Michael Margraf, QucsStudio presenta un nuevo motor de simulación y añade características únicas que no están presentes en las otras variantes como simulación de sistemas, simulación electromagnética de PCBs, o integración con C/C++, Octave y Kicad.

En la práctica QucsStudio es la versión más ambiciosa de todas las mencionadas, con muchas posibilidades para uso profesional, al menos en entornos reducidos. A continuación se hace un repaso de los distintos tipos de proyectos, simulaciones y co-simulaciones que se pueden realizar.

2. Interfaz Gráfico en QucsStudio

La siguiente imagen muestra un ejemplo donde se observa el interfaz gráfico de QucsStudio. En la foto se observan varias secciones que se resumen en esta sección.

QucsStudio GUI (EN) QucsStudio GUI Example
(ES) Ejemplo del interfaz gráfico de QucsStudio

Como es habitual, en la parte horizontal superior se encuentran los distintos menús para manejar la herramienta. Asimismo se pueden visualizar los accesos directos a las funciones más usadas (guardar, lanzar simulación, subir/bajar en la jerarquía de subcircuitos, etc).

En la parte izquierda, en vertical, se puede seleccionar una de las siguientes pestañas. La pestaña “proyectos” muestra todos los proyectos que estén en la ruta de trabajo. En la pestaña “contenido” aparecen todos los ficheros de simulación: esquemáticos, códigos (VHDL, verilog, C/C++, Octave), resultados (datos y displays .dpl), archivos con PCBs y otros como archivos .html (ver sección 6). La pestaña “componentes” incluye los distintos elementos genéricos y controladores que se pueden incluir en los esquemáticos para los distintos tipos de simulación. Finalmente la pestaña biblioteca incluye componentes concretos de distintos fabricantes.

En la parte central, ocupando la mayor parte de la pantalla, se puedes visualizar cualquiera de los archivos mencionados en el párrafo anterior para la pestaña “Contenido”. Concretamente, en el ejemplo de la imagen, se muestra el esquemático de un circuito sobre el que se configura una simulación de transitorio. En los esquemáticos se pueden hacer múltiples bloques a distintos niveles de jerarquía y navegar por ellos de forma sencilla. El siguiente vídeo muestra una simulación introductoria de QucsStudio y la navegación por subcircuitos a distintos niveles:

A continuación, durante la explicación de las distintas posibilidades de uso de QucsStudio, se muestran más imágenes y vídeos que permiten visualizar más detalles y posibilidades de su interfaz gráfico. Además, en la sección 5 se detallan también las posibilidades de la herramienta para mostrar resultados.

3. Diseño Electrónico con QucsStudio

El trabajo de diseño y simulación de circuitos electrónicos con QucStudio se articula en torno a diversos tipos de análisis. Los controladores de todos los posibles tipos de análisis se incluyen en el esquemático desde el menú “simulaciones” dentro de la pestaña “componentes”. Se muestran en la siguiente gráfica:

(EN) Simulation controllers in QucsStudio.
(ES) Controladores de Simulación en QucsStudio.

A continuación se detallan los posibles tipos de análisis de circuitos divididos en tres secciones: analógicos (incluyendo de RF), digitales y de sistema.

3.1 Diseño de Circuitos Analógicos en QucsStudio

En este apartado se muestran las amplias posibilidades de diseño y simulación de circuitos analógicos de QucsStudio. Al incluir soporte para parámetros-S y balance harmónico, QucsStudio extiende sus posibilidades desde el diseño analógico hasta el diseño de electrónica de radiofrecuencia.

Además, en QucsStudio existen varias utilidades que se pueden utilizar como soporte al diseño de circuito analógicos y de RF. Se trata de las siguientes herramientas (que se describen en más detalle debajo en la sección 6): diseñador de componentes inductivos y capacitivos, síntesis de líneas de transmisión, diseño automático de filtros, adaptación de impedancias y cálculo de atenuadores.

3.1.1 Componentes

La siguiente imagen muestra los distintos componentes que se pueden emplear en estas simulaciones incluyendo también las secciones de la biblioteca de componentes, donde se pueden seleccionar componentes concretos con las referencias de sus fabricantes.

QucsStudio analog components. Componentes analógicos en QucsStudio.

Componentes de otras pestañas, como elementos digitales o de sistema también pueden estar modelados para funcionar en simulaciones analógicas. Por otra parte, para la inclusión de componentes importados desde SPICE o definidos/modelados con ecuaciones o en archivos C/C++ y VerilogA, revisar la sección 4 abajo.

3.1.2 Simulaciones

A continuación se explican los tipos de análisis que se pueden realizar sobre un esquema analógico. En todos los casos se puede realizar un barrido de parámetros, equivalente a repetir de forma automática un análisis con diferentes valores para los parámetros clave del esquemático.

3.1.2.1 Análisis DC

El análisis DC permite obtener las tensiones y corrientes continuas que polarizan un circuito analógico. Consiste en un análisis no lineal en estado permanente.

El siguiente vídeo muestra una simulación simple en DC:

3.1.2.2 Análisis AC

El análisis AC analiza el comportamiento lineal y en estado permanente del circuito analógico en unas frecuencias predeterminadas. Previamente, y de forma automática, se realiza un análisis DC para obtener la polarización de los componentes no lineales.

El siguiente vídeo muestra una simulación simple en AC:

En estas simulaciones también se puede obtener el ruido del circuito, tanto en frecuencia como la contribución total. El origen del ruido son fuentes de ruido insertadas en el esquema más el ruido generado por los propios componentes. En cualquier caso, se analiza únicamente la contribución de ruido lineal sin mezclado de frecuencias.

3.1.2.3 Transitorio

El análisis de transitorio analiza la forma de onda de la señal en cualquier punto de un circuito. Por lo tanto se trata de un análisis no lineal realizado en el dominio del tiempo. El controlador se puede configurar para simular un transitorio completo, o para proporcionar la forma de onda en estado permanente.

El siguiente vídeo muestra una simulación de transitorio simple:

El análisis de transitorio tiene en cuenta el ruido de los componentes, además de las fuentes de ruido que se añadan en el esquema.

3.1.2.4 Parámetros S

Este análisis permite obtener los parámetros S de la etapa simulada. Al igual que el análisis AC se trata de una simulación lineal, en estado permanente, realizada en el dominio de la frecuencia.

Se pueden integrar en el análisis parámetros S procedentes de un archivo externo tanto para ser embebidos como des-embebidos. La herramienta también incorpora las ecuaciones para calcular automáticamente tanto los parámetros de estabilidad y ganancia máxima como las curvas de estabilidad, de ganancia y de figura de ruido.

La siguiente imagen muestra una simulación de parámetros-S con alguno de los resultados mencionados:

3.1.2.5 Balance Armónico

Se trata de un análisis no lineal que se realiza en el dominio de la frecuencia. En este análisis se simulan tonos fundamentales, sus armónicos y sus productos de intermodulación en estado permanente.

De esta forma se pueden obtener los equivalente de gran señal para simulaciones AC y de parámetros S. Además QucsStudio incorpora funciones predefinidas que permiten obtener automáticamente el P1dB. Para frecuencias lo suficientemente altas, con esta estrategia se puede obtener el estado permanente de un circuito más rápidamente que mediante el análisis de transitorio.

El siguiente video muestra un ejemplo de simulación de balance armónico:

A diferencia del análisis de ruido AC, con el análisis de ruido de balance armónico también se calcula el ruido obtenido por mezcla de frecuencias.

3.1.3 Tuneado de Circuitos

En los análisis de DC o de parametros-S es habitual modificar los parámetros de los componentes circuitales intentando cumplir una condición de diseño. Existe un estrategia muy útil para ver cómo afecta cada componente en particular al resultado de la simulación. Concretamente se trata del tuneado o ajuste fino de valores.

En este método, una vez definida la simulación, se indican los parámetros que son susceptibles de cambiar y su rango dinámico. De forma manual, se puede ir modificando cada parámetro con barras de desplazamiento. Simultáneamente se puede observar como afecta la modificación de cada parámetro al resultado de la simulación.

El siguiente vídeo muestra un ejemplo simple de tuneado manual:

3.1.4 Optimización de Circuitos

En muchas ocasiones el tuneado de circuitos no es suficiente porque no resulta ni práctico ni efectivo. Se debe principalmente a dos motivos:

  • En primer lugar porque pueden ser muchos los parámetros susceptibles de cambiar. Y buscar un mínimo o un máximo manualmente en una función de muchas variables es muy complejo.
  • Por otra parte, porque las condiciones de optimización también pueden ser múltiples afectando a diversos resultados. En consecuencia, identificar la dirección de cambio necesaria para cada parámetro no es evidente.

Para estas ocasiones existe otra funcionalidad que optimiza circuitos de forma automática. Indicando los parámetros susceptibles de cambiar, su rango dinámico, el objetivo o los objetivos a conseguir, y el algoritmo de trabajo, la herramienta itera con los parámetros intentando optimizar los resultados.

El siguiente vídeo muestra la optimización de un filtro diseñado con stubs:

Finalmente, el siguiente vídeo muestra la optimización de un diplexor basado en componentes discretos:

3.1.5 Análisis de Monte-Carlo

El método de Monte-Carlo permite extender cualquiera de los análisis del apartado 3.1.2 teniendo en cuenta la tolerancia de los elementos del esquemático.

En práctica se realizan de forma automática múltiples simulaciones. En cada una de ellas los parámetros presentan un valor diferente dentro de su distribución estadística, ya sea normal o uniforme. De esta forma se puede observar la variabilidad del resultado de la simulación en función de la tolerancia de los componentes del circuito.

El siguiente ejemplo muestra la simulación de Monte-Carlo de un atenuador en pi de 6 dBs:

(ES) Analisis de Monte-Carlo en QucsStudio. 
(EN) Monte-Carlo analysis in QucsStudio.

3.1.6 Soporte de PCB

QucsStudio tiene soporte para el diseño de PCBs tanto a nivel de producción como de simulación. Por una parte está integrado con el software de rutado de circuitos de KiCad. Por otra parte permite realizar simulaciones electromagnéticas de pistas. Estas funcionalidades se explican a continuación.

3.1.6.1 Rutado de PCB

Todos los elementos de los esquemáticos presentan una huella seleccionable, a veces con varias opciones. Igualmente, para los componentes modelados por el usuario, se puede añadir su huella para usar en un rutado. De esta forma en cada esquemático se puede disponer simultáneamente de una simulación y de un rutado en KiCad. La siguiente imagen muestra un ejemplo:

(ES) Esquemático, simulación y PCB en QucsStudio.
(EN) Schematic, simulation and PCB in QucsStudio.
3.1.6.2 Simulación Electro-Magnética

QucsStudio también permite analizar circuitos basados en líneas microstrip mediante un simulador de campos electromagnéticos. El método empleado es el diferencias finitas en el domino del tiempo.

Dado un esquemático compuesto por elementos del menú “líneas de transmision”, la herramienta genera automáticamente las vistas mediante la herramienta “Crear layout de PCB”. Para simular las pistas se emplea el mismo controlador de simulación de parámetros S y el mismo sustrato definido en el esquema.

El siguiente vídeo ilustra como realizar simulaciones electromagnéticas a partir de un esquemático:

Existen otras formas más sofisticadas para crear o importar rutados sobre los que realizar la simulación electromagnética. Por ejemplo se pueden incorporar elementos discretos como condensadores o resistencias en la simulación. También se pude crear directamente un layout sin necesidad de esquema asociado. Finalmente, también es posible importar rutados desde herramientas como hiperlynx.

El siguiente vídeo muestra ejemplos incluyendo todas las funcionalidades comentadas en el párrafo anterior:

3.2 Diseño de Circuitos Digitales en QucsStudio

En este apartado se muestran las posibilidades de diseño y simulación de circuitos digitales en QucsStudio. Tras un breve repaso por los componentes permitidos, se explican cómo funcionan los análisis digitales y el soporte a los lenguajes de descripción VHDL y Verilog.

3.2.1 Componentes

La siguiente imagen muestra los distintos componentes que se pueden emplear en simulaciones digitales. Son básicamente generadores de bits, puertas lógicas, flip-flops y componentes definidos en VHDL/Verilog:

Componentes digitales en QucsStudio. Digital Components in QucsStudio.

También se pueden incluir componentes definidos en archivos C/C++, como se detalla en la sección 4.4 más adelante.

Notar que en este caso no tiene sentido aplicar el barrido de parámetros (componente «nested sweep» en inglés) ni se pueden incorporar fuentes de ruido, puesto que se realizan simulaciones estrictamente digitales.

3.2.2 Simulaciones Digitales

3.2.2.1 Circuitos Digitales Simples

En su variante más simple, la simulación emplea estímulos digitales simples, ya sean bits constantes o secuencias de bits. A partir de estos estímulos, el análisis calcula o bien la tabla de verdad o bien el cronograma en las salidas, como se muestra en las siguientes gráficas:

Tabla de Verdad en QucsStudio. Truth Table in QucsStudio.
Cronograma en QucsStudio. Chronogram in QucsStudio.
3.2.2.2 Soporte VHDL / Verilog

QucsStudio también interpreta archivos VDHL / Verilog, lo que permite incrementar la complejidad de los circuitos digitales simulados. De este modo es posible incorporar al esquemático componentes cuyo comportamiento está descrito en archivos VHDL/Verilog y simularlos junto con el resto de componentes digitales usando el interfaz gráfico de la herramienta. Como se muestra en la siguiente imagen:

(ES) Simulación de circuitos VHDL/Verilog junto con componentes de QucsStudio.
(EN) Simulation of VHDL / Verilog circuits alongside QucsStudio components.

Además también se pueden simular directamente archivos VHDL/Verilog que incorporen su propio “testbench”. En este caso no hay ningún gráfico con el esquemático del circuito, puesto que la simulación está descrita en un archivo de texto. Sin embargo los resultados de la simulación sí que se pueden observar con el interfaz gráfico de la herramienta. Esta metodología queda reflejada en la siguiente imagen:

VHDL/Verilog Testbench + QucsStudio GUI

3.3 Diseño de Sistemas en QucsStudio

En este apartado se muestran las posibilidades de diseño y simulación de sistemas en QucsStudio, incluyendo los componentes y los parámetros de simulación más característicos.

3.3.1 Componentes

La siguiente gráfica muestra los componentes que se pueden emplear en esquemáticos y simulaciones de sistemas:

Queda patente que la aplicación está muy orientada a la simulación de alto nivel de sistemas de comunicaciones, tanto electrónicos como opto-electrónicos. Cómo es lógico, en este caso también se pueden añadir fuentes de ruido. Además, al igual que en la simulaciones analógicas, se puede utilizar barrido de parámetros («nested sweeps» en inglés) de forma que se realicen múltiples simulaciones del sistema automáticamente con los valores de parámetros preseleccionados.

Por último, indicar que también se pueden incluir componentes definidos en archivos C/C++, como se detalla en la sección 4.4 abajo.

3.3.2 Simulación de Sistemas

La simulación de sistemas emplea el siguiente concepto: un bloque de números complejos es enviado a un componente que los procesa de acuerdo a su función. Los datos de salida son entonces enviados a todos componentes con los que está conectado. El procedimiento se repite hasta pasar por todos los componentes.

La aplicación principal es la simulación de sistemas de comunicaciones, donde el número complejo representa la envolvente compleja, es decir, la amplitud y la fase de la portadora. Por ello, el controlador de la simulación necesita los siguientes parámetros:

  • Velocidad: indica la tasa de envío de símbolos por segundo.
  • Muestras por símbolo: junto con la velocidad permite derivar la frecuencia de muestreo de la simulación.
  • Número de símbolos: establece el rango temporal total de la simulación.

De esta forma se pueden visualizar señales en el dominio del tiempo (constelaciones y diagramas de ojo) además de medir tasas de error de datos. El siguiente ejemplo muestra la simulación de un sistema electro-óptico donde se representa el diagrama de ojo en el receptor en función de parámetros clave:

(EN) System Simulation in QucsStudio. (ES) Simulación de sistemas en QucsStudio

4. Modelado de Componentes en QucsStudio

Los componentes estándar y específicos ya incluidos en QucsStudio se han mencionado en las sección anterior para los distintos tipos de simulaciones. Además de dichos componentes, es posible añadir y definir otros componentes procedentes de distintos orígenes. Este apartado explica los diferentes mecanismos que se pueden emplear por el usuario para incorporar componentes en QucsStudio.

Se comienza explicando la importación simple de archivos de SPICE. Posteriormente se explica cómo definir componentes lineales y no lineales con ecuaciones. Finalmente, para la definición de elementos complejos se explica el modelado en VerilogA y en C++.

Por último, es importante indicar que el usuario puede crear sus propias librerías de componentes e integrarlas en la plataforma como si fueran elementos nativos.

4.1 Importar desde SPICE

QucsStudio permite importar elementos desde SPICE de varias formas. El mecanismo más sencillo es tan simple como pulsar la tecla F2 desde un archivo “.cir”. A continuación la herramienta genera automáticamente un esquemático que incluye circuitos y subcircuitos, componentes con modelos predefinidos (como transistores), y controladores de simulación.

La siguiente gráfica refleja este procedimiento:

QucsStudio / SPICE

Obviamente los componentes importados desde SPICE son válidos únicamente para simulaciones de circuitos analógicos, como se ha detallado arriba en el apartado 3.1.

4.2 Ecuaciones

QucsStudio incorpora varios elementos que permiten definir componentes tanto lineales como no lineales de forma genérica mediante ecuaciones. Se explicación a continuación.

4.2.1 Definición en Frecuencia

El componente “Frequency Domain” permite definir un elemento lineal mediante parámetros dependientes de la frecuencia (S, Y, Z, H, G, A, T). La dependencia de la frecuencia se puede incorporar mediante las ecuaciones que determinan la función de transferencia en el dominio de Laplace. Los elementos así definidos se pueden emplear tanto en simulaciones analógicas como en simulaciones de sistemas. El siguiente ejemplo permite visualizar la flexibilidad de esta estrategia:

Laplace / QucsStudio

Notar que la función de transferencia también se puede definir usando la variable “freq” como variable independiente cuando esté definida por el controlador de la simulación, como en simulaciones AC o de parámetros S. Esta estrategia se puede observar en el siguiente ejemplo:

(EN) Frequency dependency in linear parameters in QucsStudio. (ES) Dependencia con la frecuencia en parámetros lineales en QucsStudio.

4.2.2 Componente No Lineal

Para modelado no lineal, se utiliza el componente “Equation Component”. Consiste en uno o varios puertos relacionados entre sí. La clave es que para cada uno de los puertos se pueden definir ecuaciones para la corriente y la carga en función de los voltajes de cualquier puerto. Esto es equivalente a definir la resistencia y la capacidad de cada puerto. De este modo se puede modelar un comportamiento no lineal como se muestra en el siguiente ejemplo:

(EN) Non Linear Component Definition in QucsStudio. (ES) Definición de Componente No Lineal en QucsStudio.

Este elemento se puede emplear en las simulaciones analógicas explicadas en el apartado 3.1.

4.2.3 Ecuación de Sistema

Por último, para las simulaciones de sistemas del apartado 3.3 se puede emplear el componente “Equation Component”. Este elemento permite definir una ecuación en función de sus señales de entrada y del tiempo. De esta forma se puede modelar fácilmente el comportamiento deseado.

4.3 Modelado con VerilogA

El método de modelado mencionado arriba en la sección 4.2 puede no ser suficiente para casos complejos. Por ello QucsStudio incluye soporte para el uso de VerilogA, un lenguaje de programación desarrollado específicamente para el modelado de componentes. VerilogA es un lenguaje de descripción de hardware que incluye únicamente el subconjunto analógico de instrucciones de Verilog-AMS. Por lo tanto, estos modelos generados con VerilogA son válidos para todas las simulaciones analógicas detalladas en el apartado 3.1.

La siguiente imagen ilustra la simulación con un fototransistor modelado con VerilogA. La herramienta permite asignar un símbolo al elemento mejorando el aspecto visual del esquemático.

4.4 Modelado con C/C++

La estrategia más completa en QucsStudio para modelar componentes sin limitaciones consiste en usar C/C++. Un único archivo de texto permite definir el comportamiento de un componente para todos los tipos de simulaciones disponibles:

  • Analógicas: es necesario completar un función para el comportamiento analógico y otra para el ruido. En estas funciones se definen los parámetros circuitales entre los diferentes nodos definidos en el componente. Como ejemplo de modelo analógico en C/C++ se muestra el siguiente código procedente de la plantilla de QucsStudio:
(ES) Plantilla C/C++ para modelado analógico en QucsStudio. (EN) C/C++ template for analog components modelling in QucsStudio
  • Sistemas: se completa la función que especifica las muestras de salida en función de las muestras de entrada. Como ejemplo de modelo de sistemas en C/C++ se muestra el siguiente código procedente de la plantilla de QucsStudio:
(ES) Plantilla C/C++ para modelado de sistemas en QucsStudio. (EN) C/C++ template for systems modelling in QucsStudio
  • Digitales: en este caso se debe incluir el código de descripción (tanto VHDL como Verilog) dentro del archivo C/C++. Se incluye en el archivo como una variable de tipo carácter. Como ejemplo de modelo digital en C/C++ se muestra el siguiente código procedente de la plantilla de QucsStudio:
(ES) Plantilla C/C++ para modelado digital en QucsStudio. (EN) C/C++ template for digital components modelling in QucsStudio

Adicionalmente es necesario indicar en el archivo el resto de información relevante para el simulador: variables globales, definición del componente, símbolo e icono, y parámetros de entrada/salida principalmente. Una vez compilado el archivo, el componente se puede usar en esquemáticos del mismo modo que se ha mostrado en los ejemplos de arriba.

5. Resultados de Simulación

La presentación de resultados de simulación en QucsStudio es muy flexible y versátil, permitiendo también post-procesar los resultados de diversas formas. Este apartado explica brevemente todas estas funcionalidades.

5.1 Diagramas de Resultados

En función del tipo de simulación, es conveniente utilizar distintos tipos de gráficos para presentar los resultados. QucsStudio permite representar datos en los siguientes formatos: coordenadas cartesianas en 2D y 3D, coordenadas polares, datos tabulados, diagrama de Smith (impedancias y admitancias), combinados de diagramas de Smith y polares, curvas de locus, cronogramas y tablas de verdad para simulaciones digitales, y, finalmente, diagramas de ojo para simulaciones de sistema. Los diagramas mencionados se pueden encontrar como un componente más en el menú “Diagramas” dentro de la pestaña “Componentes”, como se muestra en la siguiente imagen:

QucsStudio diagrams

Como se ha mostrado en muchos de los ejemplos expuestos en este texto, todos los diagramas se pueden incluir tanto en la página de resultados (“data displays”) como en el esquemático del circuito. Ésto último resulta muy útil visualmente tanto para el usuario como para compartir pantallazos de esquemas-resultados con compañeros.

5.2 Ecuaciones

Las ecuaciones se pueden incorporar tanto en los propios diagramas, como directamente en el interfaz gráfico. En este último caso las ecuaciones pueden responder directamente a los cambios en las variables que las conforman. De este modo se pueden realizar esquemas interactivos para explicar conceptos técnicos, como se muestra en la siguiente imagen:

Interactive Diagram in Qucstudio. Diagrama interactivo en QucsStudio.

5.3 Funciones Predefinidas

QucsStudio incorpora por defecto numerosas funciones que se pueden emplear directamente en los diagramas y, en algunos casos, también en las ecuaciones explicadas arriba. A continuación se listan algunas de las funciones más relevantes:

Funciones en QucsStudio
Functions in QucsStudio

5.4 Post-Procesado con Octave y C/C++

QucsStudio incluye soporte para Octave y C/C++ como se explica en el apartado 6 debajo. Esta compatibilidad flexibiliza enormemente el análisis de resultados de simulación.

De una forma sencilla se puede indicar a QucsStudio que al finalizar una simulación se ejecute un script de Octave, con toda su funcionalidad, para post procesar los resultados. Asimismo, el script de Octave puede ejecutar funciones escritas en C/C++ y compiladas como archivos MEX. Obviamente, desde Octave también se puede representar resultados y variables post-procesadas con su soporte de gráficos habitual.

El siguiente ejemplo muestra una simulación analógica simple donde los resultados son procesados y presentados desde Octave:

Postprocessing results with Octave in QucsStudio. Post procesado de resultados con Octave en QucsStudio.

6. Utilidades en QucsStudio

En este apartado se repasan otras utilidades incluidas en QucsStudio, principalmente apps y soporte a distintos lenguajes de programación.

6.1 Apps

Junto con funcionalidades típicas para este tipo de herramientas como crear listas de materiales, QucsStudio presenta aplicaciones más complejas que se describen a continuación. Además de las mencionadas abajo, también existe una aplicación para controlar instrumentación por GPIB, y un visor de gerbers (Gerbview).

6.1.1 Diseñador de Componentes

Esta herramienta incluye un interfaz gráfico adicional para diseñar los siguientes tipos de componentes:

  • Bobinas: tradicionales, cónicas, multicapa y en espiral monocapa.
  • Condensadores: bicapa, de líneas paralelo e interdigitales.

La siguiente imagen muestra el interfaz gráfico de la aplicación:

Componentest Designer App QucsStudio

6.1.2 Síntesis de Filtros

Qucstudio también tiene una utilidad que permite diseñar filtros de varios tipos, tanto con componentes discretos como distribuidos, además de con ecuaciones. El siguiente vídeo muestra un ejemplo de diseño de filtros a partir de esta aplicación:

6.1.3 Calculadora de Líneas de Transmisión

Para el diseño de circuitos de RF, QucsStudio también tiene sus propia herramienta de cálculo de líneas de transmisión. Incluye distintas variantes de las siguientes posibilidades: líneas microstrip, stripline, coplanares, guías de onda y coaxiales.

El siguiente vídeo muestra la operación con esta aplicación:

6.1.4 Síntesis de Atenuadores

Esta útil herramienta permite calcular las resistencias de los atenuadores y divisores de potencia más habituales a partir de los valores de atenuación e impedancia de entrada y salida. Dada la potencia de entrada, la aplicación también calcula la potencia disipada en cada resistencia. Además permite seleccionar los valores de resistencia más cercanos a los ideales en función de la familia, y ver cómo afecta el atenuador.

La siguiente imagen muestra el interfaz gráfico de esta aplicación:

6.1.5 Adaptación de Impedancias

QucsStudio también dispone de una sencilla herramienta para realizar adaptación de impedancias automática en una frecuencia. Dado unos parámetros S, la aplicación permite obtener la red de adaptación simple para un puerto, o la red de adaptación simultánea para dos puertos. Automáticamente se obtienen los componentes que se pueden pegar en el esquemático con el circuito a adaptar.

La siguiente imagen muestra el interfaz gráfico de esta herramienta:

1-port and simultaneous 2-port matching in QucsStudio. Adaptación de impedancias de un puerto o simultánea de dos puertos en QucsStudio.

6.2 Soporte C/C++

QucsStudio tiene soporte para C/C++ de forma global, no solo para definir y modelar componentes como se ha explicado arriba en la sección 4.4.

Desde la herramienta se pueden abrir, generar y editar los archivos de texto “.cpp” de forma sencilla, puesto que resalta automáticamente las palabras clave. Una vez los archivos C/C++ son compilados (con la tecla F2) se genera un archivo “.exe” que también es ejecutable desde la herramienta. Esto permite programar aplicaciones con diversas funciones como por ejemplo escribir datos por la consola de QucsStudio, leer/escribir archivos externos o controlar dispositivos por GPIB.

Por otra parte, con las directivas adecuadas, los archivos C/C++ también pueden ser compilados como archivos “.mex”, que son interpretables por Octave, cuyo soporte se explica a continuación.

6.3 Soporte Octave

QucsStudio incorpora Octave, lo que permite generar, abrir, editar y ejecutar scripts desde la herramienta. Similar al caso de C/C++, el editor de texto incorporado también resalta las palabras clave de Octave.

De esta forma se pueden escribir aplicaciones en Octave con toda su capacidad nativa de funciones internas, tanto para procesado como para interacción con el exterior (lectura/escritura de archivos, comandos hacia puertos externos y presentación de gráficos). También es posible escribir aplicaciones en Octave que generan un esquemático de QucsStudio automáticamente a partir de los parámetros clave definidos como entradas.

Al incorporar soporte nativo simultáneo para C/C++ y para Octave, Qucstudio permite integrar ambos lenguajes mediante los archivos “.mex” (compilados desde C/C++). De esta forma se pueden escribir aplicaciones mixtas en Octave, que utilizan funciones escritas y compiladas desde C/C++, con todo el soporte nativo de Octave.

Por último, también es posible post-procesar los resultados de una simulación de QucsStudio desde Octave, como se explica arriba en la sección 5.4. Esta funcionalidad también permite realizar una simulación de diferentes dominios en lotes. Por ejemplo, se puede realizar una simulación tradicional de QucsStudio (analógica/digital/sistema) y posteriormente tomar los resultados para simular con Octave/C/C++ funciones de procesado digital de señal (DSP) que se implementarían en otras etapas.

6.4 Soporte HTML

QucsStudio también interpreta archivos HTML. Esta utilidad es muy útil, por ejemplo, para integrar una página en cada proyecto con accesos directos y explicaciones a cada uno de los archivos que contiene el proyecto. Esta estrategia se utiliza en los ejemplos de QucsStudio para facilitar la comprensión del usuario, como se muestra en la siguiente imagen:

HTML / QucsSTudio

7. Conclusiones y Evaluación de QucsStudio

QucsStudio es una herramienta gratuita muy útil para ingenieros y diseñadores electrónicos y de RF. Las capacidades de simulación son muy flexibles y se proporcionan mecanismos para modelar componentes faltantes de acuerdo a las necesidades del diseñador. El manejo de la herramienta resulta muy sencillo y en general intuitivo. Además, el interfaz gráfico es muy atractivo tanto en la presentación de esquemáticos como en la presentación de resultados. En general, incluso en ambientes profesionales, QucsStudio resulta una herramienta muy útil para el usuario.

Obviamente, QucsStudio también tiene sus limitaciones. A veces resulta frustrante comprobar que una simulación deja de converger al cambiar ligeramente un parámetro. En general, para utilizar QucsStudio es necesario un conocimiento más profundo que en el caso de otras herramientas, típicamente de pago, donde la convergencia de las simulaciones está más depurada. Esto puede dar lugar a retrasos no esperados en el proceso de diseño.

Por lo tanto, se puede concluir que QucsStudio es una herramienta potente y muy recomendable para tareas relacionadas con el diseño electrónico. Como es natural, es en las comparaciones con herramientas de pago donde se pueden encontrar más debilidades a QucsStudio. A pesar de ello, es muy reseñable que versión a versión QucsStudio no ha parado de crecer al incorporar funcionalidades más y más complejas como por ejemplo la simulación electromagnética.


Suscripción
Si te ha gustado esta contribución no dudes en suscribirte a nuestro boletín: