Forum: Analoge Elektronik und Schaltungstechnik Ltspice: Optimierung vieler Parameter


von Dieter R. (dieter_r)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe ein Eingangssignal, Box mit R und C Elementen, und 
Ausgangssignal. Nun möchte ich die R / C Elemente in der Box so 
optimieren, dass mein Ausgangssignal ein möglichst idealer Sinus wird.

Ich kann in ltspice nun den Parameter einzelner Elemente variieren, und 
manuell das beste auswählen. Das Ganze für die Elemente nacheinander ist 
extrem mühsam. Deshalb dachte ich an eine 6 dimensionale Optimierung der 
Parameter als Blackbox. Dazu müsste das Ausgangssignal aber einen 
definierten Wert haben, den ich optimieren kann.

Hat jemand eine Idee, wie man das ganze am geschicktesten angeht?

von Udo K. (Gast)


Lesenswert?

1. Du definierst ein "Gütekriterium" das du ausrechnen kannst,
   z.B. Harmonische Verzerrung (THD).

2. Brute Force Methode:
   Dann veränderst du die Parameter mit der Step Option,
   und merkst dir den Parametersatz mit dem besten Gütekriterum.

2b.Wenn das zu lange dauert, dann kaufst du dir bessere Hardware

3. Wenn nichts hift, dann kannst du versuchen, deine Schaltung
   zu verstehen :-)

4. Wenn das auch nicht hift, dann kannst du eine intelligentere
   Minimumsuche bauen.
   Simulated Anealing, Steepest Gradient, Neuronale Netze, etc. etc.
   sind gute Ausgangspunkte.
   Die LTSpice Files sind einfach per Skript veränderbar, externe
   Programme zur Miniumusuche können damit LTSpice einbinden.

5. Noch immer keinen Erfolg?  Schau mal ob es für dein Problem
   nicht schon einen fertigen IC gibt.

von c-hater (Gast)


Lesenswert?

Dieter R. schrieb:

> Hat jemand eine Idee, wie man das ganze am geschicktesten angeht?

1) Du lernst, deinen Scheiß mal mit den Augen anderer zu betrachten. Du 
zeigst eine unvollständige Schaltung und einen Graphen dazu, von dem 
nicht mal ersichtlich ist, von welchem Punkt der Schaltung er stammt. 
Mehr noch: du Dumpfbramme hast nicht mal erwähnt, ob der gezeigte Graph 
nun Eingangssignal oder Ausgangssignal ist.

2) Du lernst, dass man aus praktisch jedem periodischen Signal (außer 
einem reinen Sinus) mehrere völlig verschiedene Sinussignale rausfiltern 
kann (mehr oder weniger gut). Du solltest also erstmal ein FFT des 
Quellsignals zeigen und darin die Frequenz markieren, die du am Ende 
haben willst.

3) Die gezeigte Schaltung ist ziemlich wahrscheinlich ziemlicher 
Bullshit. Egal für welche Frequenz und egal, wie das Quellsignal 
aussieht. Deswegen hat es wohl eher keinen Sinn, daran irgendwelche 
mehrdimensionalen Optimierungen vorzunehmen.

von Theor (Gast)


Lesenswert?

Vielleicht erzählst Du erstmal, wie die oben gezeigte Schaltung 
entstanden ist und wo da (um Mißverständnisse zu vermeiden) Ein- und 
Ausgang sind.

Es wäre auch gut zu wissen, was die Ausgangslage ist. Wie entsteht das 
Eingangssignal und was soll mit dem Ausgangssignal geschehen?

Sollte die Diode D1 am Eingang sein, so würde ich sie zunächst mal 
weglassen. Sie fügt dem Signal Oberwellen hinzu, die wieder (mühsam) 
herausgefiltert werden müssen. (Offen gesagt, bin ich, was den Zweck der 
Diode betrifft äusserst neugierig).

Ich denke es muss z.B. auch der Eingangs- und Ausgangswiderstand 
berücksichtigt werden und evtl. vorhandene kapazitive und induktive 
Eigenschaften der Last und des Generators.


Meine Wortwahl legt eine andere Betrachtung des Problems nahe.
Ich sage "filtern" und nicht "Optimierung". Du hast vieleicht Gründe, 
dass als Optimierungsproblem aufzufassen, aber erkläre die dann mal 
bitte.

Mehrdimensionale Optimierungen sind an sich mühsam - auch bei Anwendung 
von automatisierten Verfahren. Ein Problem sind lokale Maxima (oder 
Minima, je nachdem, wass man optimiert). Ein anderes sind 
Nicht-Linearitäten (Diode).

Falls man das als Filter auffasst, wäre eine gezielte Berechnung anhand 
der nötigen Oberwellendämpfung vergleichsweise einfach.

Falls es aber nun unbedingt Optimierung sein soll, würde ich ein 
genetisches Verfahren vorschlagen. Allerdings gibts da noch eine ganze 
Anzahl Alternativen, von denen sich vielleicht, mit mehr Informationen 
über das Problem, eines besonders anbieten könnten.

von Helmut S. (helmuts)


Lesenswert?

Udo K. schrieb:
> 1. Du definierst ein "Gütekriterium" das du ausrechnen kannst,
>    z.B. Harmonische Verzerrung (THD).


Ich befürchte, dass dann die RC-Zeitkonstanten beliebg groß werden und 
dann fast gar keine sinusförmige Spannung mehr herauskommt.
Man müsste also noch zusätzliche Kriterien finden.

Es gibt in der Tat Optimizer. Zumindest mit einen in Perl geschriebenen 
Optimizer für LTspice habe ich schon experimentiert und einfache 
Beispiele gemacht. Dazu muss man aber Perl oder zumindest Tinyperl 
installieren.

https://groups.io/g/LTspice/files/z_yahoo/Tut/Optimization
(In der alten Yahoo group war das im Verzeichnis 
Files/Tut/Optimization.)

Die ehemalige Yahoo group ist jetzt hier: https://groups.io/g/LTspice

In Erinnerung sind mir dann noch ASCO und EvoSPICE aber damit habe ich 
praktisch nichts gemacht.
Das jetzt kostenlose Micro-Cap hat wohl einen eingebauten Optimizer. Das 
wäre auch mal einen Versuch wert.
http://www.spectrum-soft.com/download/download.shtm

: Bearbeitet durch User
von Dieter R. (dieter_r)


Lesenswert?

Erstmal danke für die Hinweise. Ja, die einzelnen Elemente der Schaltung 
denke ich schon verstanden zu haben. Nur eben nicht im Zusammenspiel. 
Deshalb die Idee mit brute-force Optimierung. Ich muss mal sehen, ob THD 
da geeignet ist.

Die Original-Schaltung war vorgesehen für AM-Demodulation eines 1kHz 
Signals mit  variabler Pulsweite auf einem 125kHz Träger. Anpassen 
wollte ich auf 4kHz Signal bei 134kHz Träger.
Deshalb macht imho ein reiner Filter auch keinen Sinn, die Diode zB ist 
notwendig. Von daher auch meine Betonung auf Parameter-Optimierung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.