LabVIEWForum.de - Zielwertsuche / Optimierung

LabVIEWForum.de

Normale Version: Zielwertsuche / Optimierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
gibt es in LV8.5 eine Zielwertsuche bzw. einen Optimieralgorithmus?
Es handelt sich um ein LTI-System. Das Ausgangssignal y(t) ergibt sich aus der Faltung (Convolution) des Eingangssignals x(t) mit der Übertragungsfunktion h(t) des Systems. x(t) und y(t) werden gemessen, h(t) muss daraus berechnet werden. Eine direkte Entfaltung (Deconvolution) ist zwar mathematisch möglich, das Ergebnis jedoch physikalisch völlig unbrauchbar. Ebenso eine Lösung im Fourierbereich. Darum habe ich ein physikalisches Modell für h(t) angenommen, welches sich aus einer verketteten e-Funktion mit 3 Parametern zusammensetzt. Die 3 Parameter der Modellfunktion müssen nun so variiert werden, dass die Faltung des gemessenen Eingangssignals x(t) mit dem Modell dem gemessenen Ausgangssignal y(t) entspricht bzw. dem nahe kommt (Fehlerquadratsumme von x(t)*h(t) und y(t) muss minimal werden ['*' = Faltungsoperator]). Bisher habe ich dies in Excel mit Hilfe eines Visual-Basic Macros und dem SOLVER berechnet, würde es aber gerne in LabVIEW integrieren, da hiermit auch die Datenerfassung für x(t) und y(t) erfolgt.
Als Anlage habe ich zwei Screenshots zu besseren Vorstellung hochgeladen. Darauf sind die Messdaten x(t) und y(t) (roter und grüner Graph), die Übertragungsfunktion h(t) (blau) und die Faltung aus x(t) mit h(t) (gelb) zu sehen. Momentan muss man die Parameter manuell variieren, bis eine hinreichend gute Anpassung (Fehlerquadratsumme minimal) erreicht ist (-> 2. Bild).
Für einen Tip oder Hinweis zur Lösung wäre ich sehr dankbar.
Vielen Dank und viele Grüße
s.
Bau doch ein Matlab Script ein. Wäre jetzt mein erster Vorschlag.

Denke aber auch, dass es Funktionen für so ein Problem gibt in LV. Müsste ich morgen mal ein wenig rumsuchen (kein LV jetzt bei der Hand), oder du wartest auf eine Antwort eines der hiesigen Experten im ForumSmile
Danke für den Hinweis. Leider habe ich keine Matlab Erfahrung und muss mir hier erst etwas anlesen.
Viele Grüße
s.
Moin Moin!

Es gibt bei LabVIEW sowohl extra Optimierungs-Funktionen als auch ein ganzen Toolkit für LTI-Systeme. Ich weiß aber nicht, welche Version von LabVIEW man braucht, damit diese Pakete dabei sind (ich hab dank Uni die Deluxe-VersionWink)... Die Optimierungsfunktionen wäre ansonsten im Mathematik-Ordner vorhanden. Ob die Funktionen genau das machen was Du brauchst, kann ich so schnell nicht sagen, da ich dies noch nicht brauchte.
dank UNI habe ich auch die Delux Version. Leider konnte ich noch kein passendes VI finden. Vielleicht geht es mit dem 'Optimierung ohne Nebenbedingungen'-vi.
Vielen dank und viele Grüße
s.
Informier dich doch mal genau, welche Version du hast und ob du den Toolkit für die LTI Systeme bekommen kannst (oder hast du diesen schon?).

Ich hatte an zwei unterschiedlichen Uni Instituten bis jetzt auch 2 verschiedene Versionen von LV. Einmal mit Vision Toolkit und einmal eben mit LTI Toolkit. Deluxe ist also nicht gleich DeluxeBig Grin


edit: Hab kurz rumgestöbert. Wär eventuell die "Nichtlinear Anpassung" Funktion etwas für dich? (Mathematik -> Anpassung)
Hallo,

nichtlineare Anpassung müsste passen. Er hat ja eine Funktion y=f(x)
Die y sind dabei die Beobachtungen und f der funktionelle Zusammenhang.

Ich habe das mal probiert, aber die Hilfe ist ja eklig.

[attachment=12917]

Versuch, eine Gerade zu fitten.

Der Formelstring passt nicht. Weiß jemand, wie man den eingibt. Und die Beobachtungen kann man ja auch nicht angeben. Komisch.

C.
Hallo Kvasir,
danke für die Hinweise. Das LTI-Toolkit konnte ich nicht finden. Das "Nichtlineare Anpassung"-VI müsste eigentlich gehen, nur weiss ich momentan nicht, ob der Formelstring den Faltungsoperator kennt bzw. wie man eine VI-Referenz mit einer Formel erstellt. Gibt es hierzu übersichtliche Beispiele? Das Problem besteht eigentlich darin, dass die rel. einfache Formel mit einem Datensatz gefaltet werden muss und dieses Ergebnis an einen anderen Datensatz angeglichen werden muss.
Viele Grüße
s.
Hallo Kvasir,
es scheint mit der nichtlinearen Anpassung und der "LM model function and gradient.vit"-Vorlage zu funktionieren. Ist eigentlich gar nicht so schwer.
Vielen Dank und viele Grüße
s.
Referenz-URLs