Hallo!
Ich lese oft im Forum hier mit und habe mich nun auch mal angemeldet,
weil ich eine Frage habe! ;)
Ich bin momentan mit der Evaluation verschiedener
Systemidentifikationsverfahren für für lineare- und nichtlineare Systeme
beschäftigt. In der Literatur bin ich dabei auf sehr präzise Algorithmen
gestoßen, welche aus gemessenen Eingangs- und Ausgangssignalen eine
Aussage über die Systemstruktur- und Parameter machen können.
Dabei ist es mir gelungen aus Simulationsdaten von Simulatoren (SPICE /
Simulink Simscape) Blackbox-Identifikationen vorzunehmen. Die Systeme
führe ich in ein diskretes Zustandsraummodell über, um sie später auf
digitalen Signalprozessoren implementieren zu können.
Da ich oft mit Systemen zu tun habe, deren innere Parameter variabel
sind - sprich elektronische Schaltungsmodelle - ist der Black-Box Ansatz
natürlich nicht immer optimal. Verschiedene Matrizen über
Lookup-Tabellen zu laden - je mehr variable Bauelemente, umso mehr
Dimensionen ergeben sich, also exponentielles Wachstum der Daten.
Deshalb habe ich einige Experimente in der symbolischen Analyse von
elektrischen Netzwerken vorgenommen, wobei ich in der amerikanischen
Literatur auch auf das nichtlineare Zustandsraummodell gestoßen bin. Der
Vorteil der symbolischen Formulierung besteht natürlich darin, dass ich
bei Vorgabe der Bauelemente sehr schnell die notwendigen
Matrizenparameter berechnen kann (Bei LTI lediglich 4 Matrizen, A, b, c,
d). Nun ergibt sich für mich folgendes Problem: Die Schaltungsanalyse
ist oft ein sehr langwieriger Prozess. Zwar ist es häufig möglich eine
Schaltung in viele Subsysteme zu untergliedern, doch ziehen bereits
kleine Änderungen der Schaltung große Auswirkungen in der mathematischen
Formulierung nach sich. Leistungsfähige CAS-Software erleichtert mir die
Berechnungen zwar immens, doch alle mir bekannten Simulatoren arbeiten
(sinnvollerweise) rein numerisch.
Nun meine Frage: Gibt es eine Softwarelösung, welche mir aus einer
gegebenen Netzliste (oder sonstiger Schaltplaneingabe...) einen Satz
mathematischer Gleichungen gemäß den Kirchhoffschen Gesetzen liefern
kann? Beispielsweise zur Weiterverarbeitung in MATLAB/Simulink [->
Überführung in diskretes Zustandsraummodell]. Momentan führe ich die
Berechnugnen "von Hand" durch, was extrem zeitraubend ist. Der Prozess
stellt sich für mich sehr algorithmisch dar, weshalb ich mir nicht
vorstellen kann, dass keine Softwarelösung existiert? Man bedenke nur
die Berücksichtigung von nichtidealen Eigenschaften von Bauelementen
oder umfangreicheren Transistormodellen.
Hier ein einfaches Beispiel einer Modellierung eines reinen LTI-Systems:
http://www.dafx.ca/proceedings/papers/p_001.pdf . Es ergeben sich eben
häufig "länglich" Ausdrücke der Koeffizienten und wenn man solche
Diskretisierungsverfahren auf verschiedene Schaltungen - später
deutliche komplexere - anwenden möchte, dazu ein großer Aufwand.
Glücklicherweise kann CAD-Software diese Rechnerei bei gegebenen
Gleichungen übernehmen.
Auf Seite 124 der Dissertation von David Yeh
(https://ccrma.stanford.edu/~dtyeh/papers/DavidYehThesissinglesided.pdf)
ist ein Beispiel dieser nichtlinearen Zustandsraummodellierung einer
analogen Schaltung gegeben. Diesen Prozess (Herleitung der Matrizen)
möchte ich letzendlich automatisieren.
Mir würde es zunächst genügen, eine Software(-routine) für die Ausgabe
der Gleichungen für ein reines LTI-System zu benutzen. Natürlich soll
die Software nicht die Matrizen herleiten, es genügt mir eine linear
unabhängige Formulierung der Netzwerkgleichungen. Die Software selbst zu
schreiben wäre für mich ein weiteres Subprojekt, welches viel Zeit in
Anspruch nehmen würde, weshalb ich gerne auf eine bereits vorhandene
Softwarelösung zurückgreifen würde. Für die Weiterverarbeitung
(Diskretisierung, Lösen von Nichtlinearitäten etc.) würde ich mir eine
MATLAB-Lösung implementieren.
Ich bedanke mich im Voraus!
schau dir mal Dymola an. Das ist ein Simulationstool, vergleichbar mit
Simulink. Allerdings werden im Design keine Eingänge und Ausgänge
definiert, man kann "in den Analyser geben" was man möchte und das
System stellt die Gleichungen intern nach der gesuchten Größe um, falls
möglich.
Dazu wird ein einheitlicher systemtheoretischer Ansatz verwendet,
bestehend aus Flussgrößen (z.B. Strom) und Potentialgrößen (z.B.
Spannung). In der Elektronik ist das noch relativ überschaubar. Die
zugrundeliegende Modellierungssprache heißt Modelica und da fängst du
am besten zu suchen an, denn es gibt neben Dymola jede Menge Software,
die darauf aufbaut.
Das Wolfram-Tool kann z.B. ganz sicher Gleichungssysteme generieren und
dan Bedarf umstellen. MapleSim sieht auch gut aus. Es kann nämlich sein,
dass Dymola nur mit numerischen Bauteilwerten arbeitet.
Ist halt auch eine Preisfrage ;)
Ich habe mit keinem der Tools wirklich intensiv gearbeitet und ich weiß
auch gar nicht, ob es das ist, was du suchst.
hier geht's los:
http://en.wikipedia.org/wiki/Modelica
halt uns auf dem Laufenden!
klick: https://www.youtube.com/watch?v=s8J8nvt7ZAA
Eine eigene Frage?
Dieser Thread ist über 13 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.