Software: SimX - Einfuehrung - Elektro-Chaos - Parameter-Identifikation

Aus OptiYummy
Zur Navigation springenZur Suche springen

Parameter-Identifikation (Spice-Modell der Diode)

Das Dioden-Modell in der SimulationX-Bibliothek bildet das Verhalten einer Halbleiter-Diode bedeutend besser ab, als unser einfaches Kennlinien-Modell für die Sperrschichtkapazität. Deshalb sollte man in einer elektronischen Schaltung möglichst das Bibliothekselement nutzen, wenn man eine C-Diode benötigt.

Leider gibt es keine Möglichkeit, eine beliebige C-Kennline direkt in dieses Dioden-Modell einzulesen. Die Kennline wird darin durch eine vorgegebene Funktion nachgebildet, deren Parameter man einstellen kann.


Modell mit Guete-Kriterium

Das Ziel der nächsten Experimente soll die Parameter-Findung für diese Kennlinien-Funktion unter Nutzung der numerischen Optimierung sein. Dazu erstellen wir aus unserem Modell C-Kennlinie.ism eine Kopie Parameterfindung.ism. Dieses Modell werden wir im Folgenden nutzen:

  • Das Element dC_dt für die Bildung der Ableitung können wir in der Modellstruktur löschen.
  • Wir holen uns eine Diode aus der Modell-Bibliothek und öffnen den Eigenschaftsdialog. Hier kann man zwischen verschiedenen Typen von Dioden-Modellen umschalten:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Diode Spice-Kind.gif
  • Das Spice-ähnliche Diodenmodell ist das, welches unter anderem auch die Sperrschicht-Kapazität in Abhängigkeit von der Spannung berücksichtigt. Ruft man innerhalb des Eigenschaftsdialogs mit <F1> die Hilfe auf, so erhält man einen Überblick über die implementierten physikalischen Effekte und die zugehörigen Modell-Parameter:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Diode Cj-Function.gif
  • Unsere Kennlinie ist durch den oberen Zweig der Formel beschrieben. Der untere Teil beschreibt den Durchlassbereich der Diode.
  • Für den oberen Zweig muss man die Parameter Cj0 und M so wählen, dass eine möglichst gute Übereinstimmung zu unserer Kennlinie der Diode BB 512 erreicht wird.
  • Das könnte man mit etwas Mühe auch noch manuell machen. Wir werden diesen Prozess jedoch mit Hilfe der numerischen Optimierung automatisieren.

Im Dioden-Modell wird der aktuelle Wert der Kapazität nicht als Variablen-Wert berechnet. Deshalb entfällt der direkte Vergleich der Kapazitäten von Diode und Kennlinien-Modell als Kriterium für die Optimierung. Man könnte mit etwas Aufwand die Berechnung der Dioden-Kapazität ergänzen, aber wir gehen einen anderen Weg der Parameter-Identifikation:

  • Wenn unsere Kennlinien-Kapazität das gleiche Verhalten beim Aufladen zeigt, wie die Sperrschicht-Kapazität der Diode, dann sollte die Abhängigkeit der Kapazität von der Spannung in beiden Elementen den gleichen Verlauf haben.
  • Wir konfigurieren deshalb unser Modell so, dass die C-Diode und unsere Kennlinien-Kapazität gleichzeitig unter gleichen Bedingungen aufgeladen werden.
  • Die Abweichung zwischen den Signalen der Kondensatorspannungen sollen minimal werden. Deshalb wird diese Abweichung im Modell als Gütekriterium berechnet.

Die dafür erforderliche Modellstruktur ist ziemlich einfach:

Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Diode Modellstruktur.gif
  • Das eigene Kennlinien-Element wurde jetzt C_Kennlinie genannt.
  • Man muss darauf achten, dass die Diode D in Sperr-Richtung betrieben wird.
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Diode Signale Startpunkt.gif
  • Der Zeitbereich muss so gewählt werden, dass mit dem Vorwiderstand R die Kennlinien-Kapazität bis zur Spannung von 10 V aufgeladen wird.
  • Der Vorwiderstand RD der Diode D besitzt den gleichen Wert, wie der Vorwiderstand R des kennliniengesteuerten Kondensators.
  • Die Ausgangssignale der beiden Spannungssensoren werden in einen Function2-Block eingespeist. Dieser bildet das Fehlerquadrat der aktuellen Spannungsdifferenz: (x1-x2)^2 .
  • Die Abweichung zwischen den Spannungsänderungen wird als Fehlerquadratsumme durch Integralbildung berechnet.
  • Es müssen nun die dynamischen Parameter der Diode Cj0 und M gefunden werden, welche die kleinste Abweichung beim Aufladevorgang beider Kapazitäten ergeben.
  • Cj0 ist der Wert der Sperrschicht-Kapazität für die Spannung Null. Dieser Wert wird also etwas größer als 600 pF sein. Mit cj0=1000 pF haben wir einen realistischen Anfangswert.
  • M ist ein Koeffizent, welcher die Krümmung der C-Funktion beschreibt. Hier könnte man manuell nach günstigen Werten suchen, aber wir behalten den Vorgabewert M=0,5 und überlassen die Parametersuche der numerischen Optimierung!
  • Für die restlichen Dioden-Parameter benutzen wir ebenfalls die Vorgabewerte.
  • Das für die Parameterfindung konfigurierte Modell sollte das nebenstehende Verhalten zeigen.

Finden optimaler Parameter mit numerischer Optimierung

Als Optimierungstool nutzen wir OptiY. Die Trial Edition ist ausreichend, welche unter www.optiy.de/Download.html bereitgestellt wird. Im Rahmen dieser Übung wird die Konfiguration des erforderlichen Optimierungsexperiments für den Einsteiger beschrieben. Vorkenntnisse zum Programm OptiY sind also nicht erforderlich:

  • Nach der wahrscheinlich problemlosen Installation unter Windows kann das Programm OptiY gestartet werden:
Optiy-fenster nach start.gif

Hinweis: Das Modell Parameterfindung.ism im SimulationX sollte geöffnet sein, bevor man dieses Modell in den OptiY-Workflow einbindet.

Experiment-Workflow

OptiY stellt über den Workflow-Editor Schnittstellen zu unterschiedlichsten Programmsystemen bereit, u.a. zu SimulationX:

  • Der Menüpunkt Einfügen > Simulationsmodelle ermöglicht die Wahl des unterstützten Modell-Typs SimulationX:
    Software SimX - Nadelantrieb - Wirkprinzip - simulationsmodell einfuegen.gif
  • Welches konkrete Modell sich dahinter verbirgt, wird vorläufig nicht spezifiziert, sondern es wird mittels Mausklick vorerst nur ein SimulationX-Modellobjekt auf dem Workflow abgelegt:
    Software SimX - Nadelantrieb - Wirkprinzip - simulationsmodell einfuegen workflow.gif
  • Jedes Modellobjekt enthält Input- und Output-Container (Parameter- und Ergebnis-Interface), welche in der Baumstruktur des Experiments erscheinen.
  • Die Eigenschaften eines Modellobjekts kann man definieren, nachdem man mittels Doppelklick auf das grafische Symbol im Workflow in den entsprechenden Dialog gelangt:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Simulationsmodell oeffnen.gif
  • Name und Kommentar sollte man im OptiY-Workflow mit sinnvollen Begriffen versehen.
  • Wichtig:
    Wir ersetzen den Arbeitsverzeichnis-Pfad durch das Zeichen \. Damit wird das Modell im gleichen Pfad erwartet, wie die OptiY-Projektdatei. Die Experimente sind damit zwischen unterschiedlichen Computern portabel!
  • Das Zuordnen von Eingängen und Ausgängen ist noch nicht möglich, weil auf dem Workflow noch keine Datenobjekte definiert wurden.
  • Das Modell erscheint unter seinem Namen (hier "Parameterfindung") im OptiY-Explorer.

Konfiguration speichern:

  • Mittels Datei > Speichern sollte man den aktuellen Zustand des Projektes sichern.
  • Dies erfolgt in eine Datei mit der Extension .opy, welche im gleichen Ordner zu speichern ist, wie das Simulationsmodell.
  • Den Dateinamen sollte man im Beispiel möglichst vom Modell übernehmen (Parameterfindung.opy). Nur so erkennt man später auch noch die Zuordnung zwischen Simulationsmodell und Optimierungsprojekt.
  • Ein späteres Öffnen der .opy-Datei stellt die gesicherte Konfiguration des Projektes wieder her.

Entwurfsparameter (Nennwerte)

Software SimX - Nadelantrieb - Wirkprinzip - nennwerte einfuegen.gif

Entwurfsparameter sind diejenigen Parameter des Modells, an denen das Optimierungsprogramm Veränderungen vornehmen soll, um eine optimale Lösung für die Optimierungsaufgabe zu finden. Wir suchen die Nennwerte zweier Entwurfsparameter:

  • Cj0: Sperrschichtkapazität bei v=0 V
  • M: Kapazitätskoeffizient

Wir definieren die zwei Entwurfsparameter im Workflow-Editor durch Einfügen > Entwurfsparameter > Nennwerte:

  • In einem ersten Schritt erzeugt man dafür mit dem Workflow-Editor abstrakte Daten-Objekte. Diese Nennwert-Objekte kann man mittels Mausklick auf dem Workflow-Desktop ablegen:
    • Hält man dabei die Strg-Taste gedrückt, so kann man mehrere nacheinander ablegen.
    • Nach dem Platzieren des letzten Nennwerts beendet man den Vorgang mit der ESC-Taste.
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Nennwerte.gif
  • Markierte Symbole kann man auf dem Workflow verschieben, so dass eine übersichtliche Anordnung entsteht.
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Nennwert-Eigenschaft.gif
  • Die Standardbezeichner Nennwert_x sollte man durch sinnvolle Namen versehen. Ein zusätzlicher Kommentar erleichtert die spätere Deutung:
    • Eigenschaftsdialog über Doppelklick auf Symbol im Workflow-Editor
    • oder über das Eigenschaftsfeld des Nennwerts im OptiY-Explorer
      Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Nennwert-Eigenschaft2.gif
    • Hinweis: Die Einheiten und Werte der Entwurfsparameter werden später automatisch bei der Zuordnung zu den konkreten Parametern des SimulationX-Modells ergänzt!
  • Die "abstrakten" Entwurfsgrößen sollen nun im Workflow den konkreten Modellparametern zugeordnet werden. Nach Doppelklick auf das SimulationX-Objekt erscheint wieder der Dialog zu den Modell-Eigenschaften. Darin markieren wir beide möglichen Eingangsparameter und wechseln danach in die Registerkarte Eingang:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Eingaenge markiert.gif
  • Dort wählt man nacheinander jeweils die zusammengehörenden Paare aus Modell-Parameter und Eingang und stellt die Verbindung durch Betätigen des >>-Button her:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Eingaenge verbinden.gif
  • Achtung:
    Man sollte alle markierten Eingangsgrößen konsequent mit Modellparametern verbinden, bevor man OK drückt. Fehlt die Modellzuordnung für eine Verbindung, so führt das später zu "unerklärlichem" Verhalten bei der Optimierung!
  • Nach Abschluss der Zuordnung erscheinen die Verbindungen im Workflow und können als Eigenschaft der Input-Größen angezeigt werden. Hier sollte man überprüfen, ob alle Zuordnungen korrekt erfolgt sind:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Input Eigenschaft.gif

Die Eigenschaften der Entwurfsparameter werden auf Basis der aktuellen Modellwerte mit Standard-Annahmen versehen:

Startwert:

  • Ist der jeweils im Simulationsmodell für die Ausgangslösung eingestellte Wert in der benutzten physikalischen Einheit:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Nennwert Cj0 Default.gif

Grenzwerte:

  • Die Grenzwerte beschreiben den zulässigen Bereich für die jeweilige Entwurfsgröße.
  • Unter- und Obergrenze werden von OptiY automatisch um 20% vom Startwert entfernt platziert.
  • Diese Vorgaben muss man meist durch technisch-physikalisch sinnvolle Werte ersetzen. Die Grenzen sollte man nicht zu eng wählen, damit die optimale Lösung innerhalb des Bereiches liegt. Für die Kapazität Cj0 kann man auf Grundlage des Datenblattes den möglichen Bereich recht gut abschätzen:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Nennwert Cj0 Grenzen.gif
  • Für den Kapazitätskoeffizienten M fehlt uns noch das Gefühl. Wir übernahmen einfach den vorgegebenen Wert als Startwert, der aber die Krümmung bei weitem nicht nachbildet. Wir nehmen z.B. einen Bereich von 0.1 bis 10 an und hoffen, dass dies ausreicht. Wenn nicht, kann man das später immer noch ändern:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Nennwert M Grenzen.gif

Guetekriterium

Als Bewertungsgröße wird in unserem Simulationsmodell die Verhaltensabweichung zwischen der Datenblatt-Kennlinie und der C-Diode als Fehlerquadratsumme berechnet:

  • Die Abweichung der Spannungsanstiege benutzen wir als Gütekriterium für die Optimierung.
  • Wir haben die bestmöglichen Parameter für die C-Diode gefunden, wenn die Abweichung nicht mehr verkleinert werden kann.
  • Wir fügen ein Gütekriterium in den Experiment-Workflow ein und nennen es Abweichung.
  • Bewertungsgrößen (hier Gütekriterium) kann man nicht direkt den konkreten Modellgrößen zuordnen. Dafür benötigt man jeweils eine zusätzliche Ausgangsgröße (Einfügen > Ausgangsgrößen):
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Nennwert M Grenzen.gif
  • Da Workflow-Objekte nicht gleiche Namen besitzen sollten, ist es günstig bei den Ausgangsgrößen z.B. in Hinblick auf die zugehörigen Bewertungsgrößen einen Unterstrich voranzustellen.
  • Die Ausgangsgrößen kann man nun in Analogie zu den Entwurfsparametern mit dem Modell-Objekt verknüpfen. Für die Wertbildung einer Ausgangsgröße stehen vielfältige Möglichkeiten zur Verfügung. Wir benötigen hier die Standard-Vorgabe "Letzter Wert", um das Ergebnis des aktuellen Simulationslaufes bewerten zu können:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Ausgang verbinden.gif
  • Die Verknüpfung des Gütekriteriums mit der Ausgangsgröße erfolgt über den Eigenschaftsdialog des Gütekriteriums (Doppelklick auf das Symbol) und Aufruf des Editors:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Guetekriterium verbinden.gif
  • Der Wert einer Bewertungsgröße kann durch mathematische Verknüpfung aller Input- und Output-Größen des Workflows gebildet werden.
  • Diese Verknüpfung wird in Form eines Ausdrucks notiert.
  • Den Ausdruck kann man jedoch nicht direkt eintragen, sondern man muss ihn mit einem bereitgestellten "Rechner" Editieren:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Guetekriterium Editieren.gif
  • Nach dem Bearbeiten des Gütekriteriums wird die Verknüpfung im Workflow visualisiert: :
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Guetekriterium verbunden.gif

Experiment-Konfiguration

Optimierungsverfahren

Software SimX - Nadelantrieb - Wirkprinzip - optimierungsverfahren standard.gif

Wir haben über den Experiment-Workflow von OptY unser Problem der Parameterfindung komplett in eine Optimierungsaufgabe transformiert. Damit der Computer nun automatisch unser "Problemchen" löst, fehlt nur noch die Konfiguration der Numerik des Optimierungsverfahrens:

  • OptiY bietet für den unerfahrenen Nutzer ein Standard-Verfahren an. Welches Verfahren sich dahinter verbirgt, ist abhängig von der Anzahl der Entwurfsparameter P und Gütekriterien K:
    • Evolutionsstrategie bei K>1 oder P>9,
    • Hook-Jeeves-Verfahren für K<2 und P<10
  • In unserem Beispiel würde also das Hook-Jeeves-Verfahren genutzt. Dieses tastet sich auf der Zielfunktion von der Anfangslösung schrittweise in Richtung kleinerer Werte "bergab" und endet dort in der Talsohle - in der Hoffnung, dass dies das globale Optimum ist:
    • Die Option "Automatischer Stop=True" soll die Suche beenden, wenn das Minimum erreicht wurde. Das dafür implementierte Kriterium funktioniert leider nicht immer zuverlässig!
    • Um das Optimum zu finden, sollte man "Automatischer Stop=False" setzen. Die Anzahl der Optimierungsschritte kann man auf einen großen Wert (z.B 1000) setzen:
      Software SimX - Nadelantrieb - Wirkprinzip - optimierungsverfahren step1000.gif
    • Man kann die Optimierung jederzeit manuell stoppen, wenn keine weitere Verbesserung der Lösung zu erwarten ist.
    • Um an dieser Stelle zumindest einen Einblick in die Konfiguration eines Optimierungsverfahren zu erhalten, wählen wir das Hook-Jeeves-Verfahren:
      Software SimX - Nadelantrieb - Wirkprinzip - optimierungsverfahren hook jeeves.gif
    • Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow manu Startschritte.gif
      Die individuelle Abtast-Schrittweite für jeden Entwurfsparameter ist in der Standardeinstellung u.a. von deren vorgegebenem Variationsbereich [Untergrenze, Obergrenze] abhängig. Da dies numerisch nicht immer günstig sein muss, sollte man sich den Zugriff auf diese Abtast-Schrittweite ermöglichen, indem man Startschrittweite=manuell setzt.
    • Die Startschrittweite erscheint dann als zusätzliche Eigenschaft nach Wahl des jeweiligen Entwurfsparameters im OptiY-Explorer (Wert =1/100 des Startwert der Entwurfsgröße). Dieser Vorgabewert ist, wie auch in unserem Fall, meist nutzbar.

Visualisierung

Um das Optimierungsexperiment verfolgen und beurteilen zu können, muss man alle dafür wesentlichen Informationen in geeigneter Form visualisieren. Dazu gehören auch Signalverläufe des Simulationsmodells:


1. SimulationX-Modell

  • Während des Optimierungsexperiment werden die Entwurfsparameter für das SimulationX-Modell in Abhängigkeit vom konfigurierten Optimierungsvefahren verändert.
  • Im OptiY kann man nur die Output-Größen des Modells als Ergebniswerte des aktuellen Simulationslaufes darstellen. Ob das zeitliche Verhalten des Modells wirklich sinnvoll ist, wird damit nicht unbedingt sichtbar.
  • Im SimulationX sollte man möglichst ein Ergebnisfenster konfigurieren, welches alle zur Beurteilung des Modellverhaltens relevanten Signalverläufe enthält. Das sind z.B. die beiden Spannungssignale:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Visulisierung Aufladung in SimX.gif
  • Alle nicht mehr benötigten Signalfenster sollte man schließen (wegen der Übersichtlichkeit und dem Zeitbedarf für das Zeichnen!).
  • Für die zur Experiment-Visualisierung gewählten Signale sollte man mittels der "Eigenschaftsleiste" feste Grenzen für die Koordinatenachsen einstellen, um ein ständiges Flackern der Darstellung zu vermeiden:
    • Eigenschaften > Panel > Y-Achse > Automatische Anpassung=False
    • Für die gemeinsame Y-Achse der Signale das Minimum und Maximum eintragen (0..10 V)
    • Eigenschaftsleiste danach wieder schließen
  • Das Fenster mit den Simulationssignalen ist so auf dem Bildschirm zu platzieren, dass es neben dem OptiY-Fenster sichtbar bleibt.

2. OptiY-Experiment

  • Die Optimierung dauert eine Weile. Deshalb sollte man alle wichtigen Informationen zum Optimierungsfortschritt dabei im Grafik-Bereich darstellen.
  • Zumindest bei einer überschaubaren Anzahl von Experiment-Größen kann man alle variablen Entwurfsparameter und die Bewertungsgrößen (Restriktionen und Gütekriterien) per Drag & Drop vom Explorer in den OptiY-Grafik-Bereich ziehen.
  • Fenster > Anordnen ordnet alle Fenster im Grafik-Bereich nebeneinander an (auch das Workflow-Fenster).
  • Bei drei Signalfenstern ist es z.B. günstig, das Workflow-Fenster erst nach dem Anordnen zu schließen:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Visulisierung in OptiY.gif


3. Konfiguration speichern

Spätestens jetzt sollte man die aktuelle Konfiguration des OptiY-Versuchsstandes mal wieder als .opy-Datei speichern!

Experiment-Durchfuehrung

Lokale Suche

Nach soviel Vorbereitung wollen wir nun beherzt den Start-Button Software OptiY - Button - Exp starten.gif für das Experiment drücken und hoffen, dass die optimalen Dioden-Parameter gefunden werden:

  • Wenn keine Verbesserung der Ergebnisse mehr zu erwarten ist, können wir das Experiment stoppen Software OptiY - Button - Exp stoppen.gif:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Optimierung 01.gif
  • Das Optimum wird relativ schnell gefunden. Wir können die Anzahl der Optimierungsschritte deshalb auf 200 verringern.
  • Das Verhalten der C-Diode hat sich im Vergleich zur Anfangslösung schon wesentlich verbessert:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - OptVerhalten 01.gif

Da die Spannungssignale noch gewisse Abweichungen zeigen, werden wir untersuchen, ob noch weitere Verbesserungen möglich sind. Dazu betrachten wir zuerst den Optimierungsverlauf:

  • Ungünstig bei der Optimierung ist es, wenn Entwurfsparameter an Grenzen stoßen. Dadurch wird die Suche an dieser Stelle gestört, weil der zulässige Bereich der Entwurfsparameter nicht verlassen werden darf. In unserem Beispiel betrifft das die Grenzen von Cj0. Physikalisch-technisch sind kleinere Werte als 500 pF und größere als 1500 pF zulässig. Wir ändern die Grenzwerte auf 100 pF und 2000 pF.
  • In der Nähe der optimalen Lösung erkennt man optisch keine Veränderung des Gütewertes, obwohl weiterhin eine Veränderung der Entwurfsparameter erfolgt. Für Gütekriterien, welche gegen Null streben, ist der Verwendung einer Logarithmusfunktion sinnvoll. Wir benutzen den natürlichen Logarithmus (ln):
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Workflow Guetekriterium mit Log.gif
  • Für das Optimierungsergebnis ist im Beispiel keine Verbesserung zu spüren, weil die vorherige Kollision mit den Grenzwerten anscheinend den Optimierungsverlauf kaum beeinflusst haben:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Optimierung 02.gif
  • Die Änderung des Gütewertes ist infolge der Logarithmusfunktion wesentlich besser zu verfolgen.
  • Am Ergebnis der Optimierung hat sich jedoch noch nichts verbessert!

Das Hooke-Jeeves-Verfahren konvergiert durch ständige Abwärtsbewegung auf der Gütefunktion zum nächstgelegenen Minimum:

  • Es handelt sich zumindest um ein lokales Minimum auf der Gütefunktion.
  • Den erreichten Bestwert kann man sich anzeigen lassen (Analyse > Bestwert > Parameter anzeigen):
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Visulisierung Bestwert lokale Suche.gif
  • Man kann sich dabei jedoch nie sicher sein, ob nicht doch noch Kombinationen für die Entwurfsparameter existieren, welche zu einer besseren Lösung führen (möglichst zum globalen Minimum der Gütefunktion).
  • Es wäre günstig, wenn man die Topografie der Gütefunktion in Analogie zu einer Landkarte kennen würde.
  • Die Gütefunktion wird in unserem Beispiel nur durch das Gütekriterium Abweichung gebildet. Während der Optimierung wird als Nennwert-Verlauf praktisch ein Höhenprofil des auf der Oberfläche der Gütefunktion zurückgelegten Pfades abgebildet:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Abweichung Nennwertverlauf.gif
  • Der Wert der Abweichung ist eine Funktion zweier Entwurfsparameter (Cj0 und M). Man kann den Suchpfad im durch diese beiden Entwurfsparameter aufgespannten Suchraum in einem 3D-Diagramm abbilden (Analyse > Darstellung > 3D-Darstellung).
  • Wir belegen die X- und Y-Achse mit den Entwurfsparametern und die Z-Achse mit dem Gütekriterium.
  • Ist dieses 3D-Diagramm aktiv, so kann man die Eigenschaften der 3D-Darstellung konfigurieren:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Eigenschaft 3D Diagramm.gif
  • Die Position des Bestwertes im 3D-Diagramm wurde markiert, indem in den Nennwertverläufen ein Wert zum Ende der Optimierung durch Doppelklick ausgewählt wurde:
Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Visulisierung Suchpfad 3d.gif

Globale Suche

Software SimX - Nadelantrieb - Wirkprinzip - experiment duplizieren.gif

OptiY bietet die Möglichkeit, für ein Projekt mehrere Experimente zu verwalten. So können wir die bisherigen Einstellungen und Ergebnisse beibehalten und als Ausgangspunkt für ein neues Experiment nutzen:

  • Nach dem Duplizieren des Experiments erscheint im OptiY-Explorer die Kopie als Experiment2.
  • Dieses weitere Experiment besitzt am Anfang die gleiche Konfiguration wie das Original. Nur die Anzeigefenster muss man neu definieren.
  • Verwaltet man mehrere Experimente in einem Versuchsstand, so sollte man mittels Umbenennen dafür sinnvolle Namen vergeben:
    • Das bisherige Experiment könnte man z.B. nach dem verwendeten Optimierungsverfahren Hooke-Jeeves nennen.
    • Für das neue Experiment wählen wir die Bezeichnung Rastersuche 2D:
      Software SimX - Nadelantrieb - Wirkprinzip - experimente umbenennen.gif

Leider sieht man bei der lokalen Suche nur die Punkte der Gütefunktion, welche durch das Verfahren abgetastet werden. Wie die komplette Gütefunktion im Suchraum aussieht, bleibt uns dabei verborgen:

  • Es ist bei praktischen Problemstellungen meist nicht möglich, die komplette Gütefunktion z.B. durch hinreichend dichte Stützstellen zu erfassen. Insbesondere bei mehreren Entwurfsgrößen und langsam rechnenden Modellen würde man Tage oder sogar Jahre für die Berechnung benötigen.
  • Unser Simulationsmodell rechnet zum Glück sehr schnell (Rechenzeit ca. 0.1 s) und wir müssen nur zwei Entwurfsgrößen berücksichtigen.
  • Wir benutzen als Optimierungsverfahren die Raster-Suche.
  • Mit 900 Optimierungsschritten ergibt sich ein Raster von 30x30 Abtastpunkten.
  • Ein 3D-Diagramm ermöglicht die grafische Abbildung der Gütefunktion (Analyse > Darstellung > 3D-Darstellung).
  • Wir belegen die X- und Y-Achse wieder mit den Entwurfsparametern und die Z-Achse mit dem Gütekriterium.
  • Ist dieses 3D-Diagramm aktiv, so kann man die Eigenschaften der 3D-Darstellung als Fläche konfigurieren:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Konfig 3D Diagramm.gif
  • Nach der etwas zeitintensiven Berechnung aller Stützstellen sollte sich folgende Gütefunktion ergeben:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Visulisierung Abweichung Rastersuche.gif
  • Hinweis: Falls der Flächenteil mit großen M-Werten nicht richtig berechnet wird, kann man dieses numerische Problem meist durch eine Verringerung von dtMin=1e-20 s in der Simulationssteuerung lösen.
  • Man erkennt mehrere lokale Minima in einem engen Graben. Trotz der dichten Rasterung kann man Darstell-Effekte bei der Raster-Suche nie ausschließen.
  • Da der obere Grenzwert für den Parameter M wesentlich zu groß gewählt wurde, führen wir eine erneute Rastersuche mit einem verringerten Grenzwert von 3 durch. Damit wird die Senke mit dem Optimum dichter abgetastet:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - Visulisierung Abweichung Rastersuche zoom.gif
  • Mit großer Wahrscheinlichkeit existiert ein globales Optimum. Die Vielzahl lokaler Minima wird in der Grafik nur durch die Rasterung der Abtastung vorgetäuscht.
  • Der Bestwert aus dem Hooke-Jeeves-Verfahren entspricht also wirklich dem globalen Optimalwert:
    Software SimX - Einfuehrung - Elektro-Chaos - C-Diode - ParmIdent - OptVerhalten 01.gif

Schlussfolgerungen:

  1. Mit der in der Diode implementierten Funktion für die Sperrschicht-Kapazität ist es nicht möglich, die Kennlinie des Datenblattes exakt nachzubilden. Das ist bei derartigen Modellen jedoch normal!
  2. Das resultierende Verhalten der Sperrschichtkapazität wird jedoch qualitativ recht gut nachgebildet.
  3. Bei der Nutzung des Diodenmodells mit den identifizierten Parametern muss man sich bewusst sein, dass es gewisse Abweichungen zum realen Verhalten gibt. Die Größe des Fehlers muss man bei Bedarf untersuchen.

Frage 8:
Wie groß ist die differentielle Sperrschicht-Kapazität der C-Diode bei Verwendung der identifizierten Parameter bei einer Spannung von 10 V? Um wieviel Prozent weicht dieser Wert von dem der Datenblatt-Kennlinie ab?

Hinweise:
Die obige Formel für die Berechnung der Sperrschicht-Kapazität der Diode ist im SimulationX-Modell in einem separates Function-Element zu berechnen. Der Zugriff auf die Parameter des Dioden-Elements erfolgt in der Formel über die Bezeichner (z.B. D.M oder D.cj0). In Hilfe > Inhalt > Modelica in SimulationX > Operatoren und Ausdrücke findet man eine Beschreibung zur Syntax.