LabVIEWForum.de - Interpolation beliebiger X/Y-Daten

LabVIEWForum.de

Normale Version: Interpolation beliebiger X/Y-Daten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich möchte gern die im X/Y-Graph abgebildeten Daten interpolieren, sodass alle Lücken mit einem Delta von 1 gefüllt sind.
Mein Problem dabei ist, dass sowohl die X- als auch die Y-Daten nicht monoton steigend/fallend sind.

Hat jemand ggf, eine Idee dazu?

Mein nächstes Problem wäre dann, Ausreißer zu entfernen.


Danke schonmal für Tips.



Gruß, Marko
Anbei in 2012 da 8.0 ohne die concatenating tunnels auskommen müsste. Da die Pfeile in den Kommentaren beim runterspeichern verloren gehen auch anbei nochmal als Snippet. Ist erstmal nur linear interpoliert und sieht aufgrund der großen Lücken entsprechend eckig aus.
[attachment=52347]
Hallo Holy,
vielen Dank erstmal für deine Mühe.
Bei der dargestellten Form handelt es sich um eine beliebig aussehende Kontur einer Seite einer Stahlbramme nach dem Walzvorgang. Da ich die Kontur relatriv genau abbilden muss und die "Stirndaten" hin und wieder komplett fehlen, muss ich zum einen eine Interpolation finden, die der Kurve möglichst genau folgt und zum anderen Ausreißer, die in dieser Version erstmal noch nicht eingezeichnet waren, entfernen.
Dazu habe ich bisher mit dem VI interpolate 1D.vi aus der vi.lib rumprobiert. Da ergibt sich nur das Problem, dass entweder die X- oder die Y-Komponente monoton sein müssen. Das ist hier aber nicht der Fall - deshalb bin ich etwas ratlos.


Gruß, Marko
Mit Ausreissern hat der Ansatz erstmal ein Problem. Der Ansatz zeigt zumindest erstmal wie du das Problem der fehlenden globalen Monotonie umgehen kannst. Wie sieht eigentlich ein Verlauf aus mit fehlenden Stirndaten und Ausreissern? Interessant wäre ggf. ein von dir in das Bild gemalter gewünscher Verlauf.
Hast Du Dir schon einmal das Beispiel B Spline Fitting Demo.vi angesehen?

Gruß Holger
(07.03.2015 18:36 )BNT schrieb: [ -> ]Hast Du Dir schon einmal das Beispiel B Spline Fitting Demo.vi angesehen?
Ich denke, das ist zusammen mit dem VI von Holy die ultimative Lösung. Mit Herumspielen an den beiden Parametern des Fitting-VIs kann man sich entscheiden, ob die Kurve eher durch jeden Originalpunkkt gehen soll, oder ob man mehr Wert auf Glätte legt.
Beispiel:
[attachment=52371]
Ich habe jetzt auch keine Lust, das VI von Holy 8.0- kompatibel zu machen, sa daß ich jetzt mit V12 weitermachen muss. (wenn jemand das VI von Holy 8.0-kompatibel macht, ändere ich auch meins)
[attachment=52372]
Hallo zusammen,

na das sieht doch supi aus. Die Linearinterpolation von Holy, kekoppelt mit dem B Spline Fitting-VI (ggf. noch ne gleitende Mittelung drüber), dann habe ich eigentlich genau das, wonach ich gesucht habe.

Vielen Dank an Holy, Holger und Ludwig!


Gruß, Marko
Danke ebenfalls - für das Grünmachen meines Beitrages natürlich .Big Grin
Aber mir war da noch etwas eingefallen, und wenn ich es schon nicht mache, dann will ich es wenigstens sagen.
Die Interpolationspunkte von Holy werden ja gebraucht, damit die Spline-gefittete Kurve aus genügend vielen Punkten besteht. Andernfalls wäre sie nicht schön rund, sondern eckig.
Ab da es keine Messpunkte sind, sollten sie beim Fitting nicht mit gewichtet werden. Man brauchte also noch einen Array für den Eingang "Gewichtung". Länge des Arrays wie die aufgeblähen x- und y- Arrays. Wert =1, wenn es sich am Index i um einen Messwert handelt, Wert = 0, wenn es ein interpolierter Wert ist.

Gruß Ludwig
(09.03.2015 20:09 )Lucki schrieb: [ -> ]...Man brauchte also noch einen Array für den Eingang "Gewichtung". Länge des Arrays wie die aufgeblähen x- und y- Arrays. Wert =1, wenn es sich am Index i um einen Messwert handelt, Wert = 0, wenn es ein interpolierter Wert ist.

Gruß Ludwig

ja, das könnte ich mal probieren. Mal sehen, was dabei herauskommt. Jetzt muss ich erstmal mein Projekt auf eine höhere LV-Version umstellen, um das B Spline fitting nutzen zu können.


Gruß, Marko
Habe mal heute als Morgensport noch etwas gemacht. Gewichtung Null im Spline-Fit VI anzugeben geht nicht, also habe ich 0.1 für die Zwischenpunkte und 1 für die Messwerte genommen.
Der Erstellung der Zwischenpunkte von Holy ist nicht das Gelbe vom Ei. Es wird eine konstante Punktdichte in Bezug auf die X-Koordinate erzeug, d.h wenn ein Abschnitt senkrecht verläuft, gibt es überhaup keine Punkte, in reiner x-Richtung sind sie hingegen sehr dicht. Besser ist eine richtungsunabhängige konstante Punktdichte entlang des Kurvenverlaufs. Habe das mal geändert.
Habe das VI nicht kommentiert. Aber Du kannst ja fragen. Ist V11 OK?
[attachment=52424][attachment=52425]

[attachment=52423]
Seiten: 1 2
Referenz-URLs