Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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 Forum
A few weeks of developement and testing can save a WHOLE afternoon in the library!
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-Version)... 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.
12.06.2008, 09:05 (Dieser Beitrag wurde zuletzt bearbeitet: 12.06.2008 09:10 von Kvasir.)
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 Deluxe
edit: Hab kurz rumgestöbert. Wär eventuell die "Nichtlinear Anpassung" Funktion etwas für dich? (Mathematik -> Anpassung)
A few weeks of developement and testing can save a WHOLE afternoon in the library!
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.