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?
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.
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.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.