Schaltungsoptimierung mit uSimmics (ehemals QucsStudio) [2026]

Grundoperationen

uSimmics (ehemals QucsStudio) bietet eine integrierte Circuit Optimizer-Funktion, die Bauteilwerte automatisch anpasst, um ein gewünschtes Schaltungsverhalten zu erzielen. Dieser Leitfaden erläutert den vollständigen Optimierungsablauf anhand eines konkreten Beispiels: den Lastwiderstandswert zu ermitteln, der die von einer Quelle abgegebene Leistung maximiert.


Was Sie in diesem Artikel lernen

  • Überblick über die Circuit Optimizer-Funktion in uSimmics (ehemals QucsStudio)
  • Entwurf der Zielschaltung sowie Konfiguration von Variablen und Optimierungszielen
  • Definition benutzerdefinierter Parameter mit Insert Equation
  • Auswertung der Optimierungsergebnisse mit der Tabular-Komponente
  • Eigenschaften und Einsatzbereiche der verfügbaren Optimierungsalgorithmen (Grid Search, Steepest Descent, Nelder-Mead, Differential Evolution)

Überblick über die Schaltungsoptimierung

Der Circuit Optimizer führt iterative Simulationen durch, während er die festgelegten Variablen (z. B. Bauteilwerte) variiert, und sucht automatisch nach den Werten, die die konfigurierten Ziele erfüllen (Maximieren, Minimieren oder Konvergenz auf einen Zielwert).


Schrittweise Vorgehensweise

1. Zu optimierende Schaltung entwerfen

In diesem Beispiel wird folgende Schaltung verwendet:

  • Eine Spannungsquelle mit einem Innenwiderstand von 33 Ω, verbunden mit einem Lastwiderstand (R1)
  • Ziel: die am Lastwiderstand R1 umgesetzte Leistung maximieren

Entwurfshinweis: Gemäß dem Theorem der maximalen Leistungsübertragung wird die maximale Leistung an die Last abgegeben, wenn der Lastwiderstand dem Innenwiderstand der Quelle entspricht (33 Ω). Das Optimierungsergebnis wird dieses Prinzip bestätigen.

2. Messknoten und Stromsonde platzieren

Um „Leistung“ als Optimierungsziel zu definieren, müssen sowohl Spannung als auch Strom gemessen werden.

  1. Benennen Sie den Knoten an den Klemmen von R1 als „Voltage“.
  2. Fügen Sie eine Stromsonde in Reihe mit R1 ein und benennen Sie deren Ausgangsgröße als „Current“.

3. Optimization-Komponente hinzufügen

  1. Wählen Sie die Komponente „Optimization“ in der Werkzeugleiste von uSimmics (ehemals QucsStudio) und platzieren Sie sie im Schaltplan.
  2. Doppelklicken Sie auf die Komponente, um den Konfigurationsdialog zu öffnen.

4. Optimierungsvariablen im Reiter Variables konfigurieren

Definieren Sie im Reiter Variables die Parameter, die der Optimierer während der Suche anpassen wird.

Einstellung Beispielwert
Variablenname R_load (Widerstandswert von R1)
Startwert 10 Ω
Minimalwert 1 Ω
Maximalwert 200 Ω

5. Optimierungsziel im Reiter Goals festlegen

Legen Sie im Reiter Goals fest, was der Optimierer erreichen soll. In diesem Beispiel wird der Parameter „Power“ maximiert.

Einstellung Beschreibung
Parametername Power
Richtung Maximieren (Maximize)

6. Benutzerdefinierten Parameter mit Insert Equation definieren

Da „Power“ keine native Größe im Schaltplan ist, muss sie explizit definiert werden, damit der Simulationsmotor sie auswerten kann. Fügen Sie ein Insert Equation-Element zum Schaltplan hinzu und geben Sie folgenden Ausdruck ein:

Power = Voltage * Current

Dadurch erkennt der Optimierungsmotor „Power“ als auswertbaren Ausdruck.

7. DC-Simulation starten, um die Optimierung einzuleiten

Nach Abschluss der Konfiguration starten Sie eine DC-Simulation. Der Circuit Optimizer startet automatisch und beginnt den Optimierungsprozess.

8. Ergebnisse auswerten

Nach Abschluss der Optimierung platzieren Sie eine Tabular-Komponente (aus dem Menü Diagrams) im Schaltplan, um die numerischen Ergebnisse anzuzeigen.

In diesem Beispiel liefert der Optimierer R_load = 33 Ω als den Wert, der die abgegebene Leistung maximiert.

Hinweis: Optimierungsergebnisse sind Näherungswerte und keine exakten analytischen Lösungen. Abhängig von den Genauigkeitsanforderungen kann eine Feinanpassung erforderlich sein.


Auswahl des Optimierungsalgorithmus

uSimmics (ehemals QucsStudio) bietet mehrere Optimierungsalgorithmen. Die Wahl des geeigneten Algorithmus entsprechend der Problemstruktur verbessert sowohl die Rechengeschwindigkeit als auch die Ergebnisgenauigkeit.

Grid Search (Gittersuche)

Durchsucht den Variablenraum erschöpfend nach einem Rastermuster. Effektiv bei wenigen Variablen und engem Suchbereich; die Rechenzeit steigt jedoch mit der Anzahl der Variablen rapide an.

Typischer Anwendungsfall: Einfache Einzelvariablen-Sweeps, z. B. das Durchsuchen von Widerstandswerten von 0 bis 100 Ω in 1-Ω-Schritten.

Steepest Descent (Steilster Abstieg)

Folgt dem steilsten Gradienten in Richtung des optimalen Werts. Konvergiert schnell, neigt jedoch dazu, in lokalen Optima stecken zu bleiben.

Typischer Anwendungsfall: Feinabstimmung, wenn der Startwert bereits in der Nähe des bekannten Optimums liegt.

Nelder-Mead (Simplex-Methode)

Erkundet den Lösungsraum durch gleichzeitiges Manipulieren mehrerer Punkte (eines Simplex), was die Robustheit gegenüber lokalen Optima erhöht. Erfordert keine Gradienteninformationen und ist daher auch auf nicht-differenzierbare Zielfunktionen anwendbar.

Differential Evolution (Differenzielle Evolution, DE)

Evolutionärer Algorithmus, der Zufälligkeit nutzt, um komplexe multimodale Suchräume zu erkunden. Erfordert mehr Rechenzeit, kann jedoch Lösungen entdecken, die gradientenbasierte Verfahren nicht finden.

Typischer Anwendungsfall: Globale Optimierung großer Schaltungen mit zahlreichen Transistoren und passiven Bauelementen.


Zusammenfassung

Der Circuit Optimizer von uSimmics (ehemals QucsStudio) eliminiert manuelles Ausprobieren, indem er optimale Bauteilwerte automatisch ermittelt. Der Schlüssel zu einer effektiven Optimierung liegt in der korrekten Konfiguration der drei Kernelemente: Variablen, Ziele und Algorithmus. Es empfiehlt sich, zunächst mit einer einfachen Schaltung zu beginnen, um den Arbeitsablauf zu erlernen, und ihn anschließend auf reale Entwurfsaufgaben anzuwenden.


Verwandte Artikel

Comment

Titel und URL kopiert