LabVIEWForum.de
diskrete Interpolierung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: diskrete Interpolierung (/Thread-diskrete-Interpolierung)

Seiten: 1 2


diskrete Interpolierung - igor_muc - 08.06.2010 13:44

Hallo alle zusammen,

ich bekomme Messwerte, die verrauscht sind und zu wenig punkte haben, praktisch zu kleine auflösung.
Deswegen habe ich ein kleines Programm gemacht mit dem es fast funktioniert.
Beim Anhang Messwerte sind die Punkte isoliert aus den anderen Werten.

Das erste Problem ist:
das beim konvertieren von string in array, die Datensätze nicht mit den Nachkommazahlen geliefert werden.

Das zweite Problem ist:
Wie kann ich es am besten machen, das meine interpolierten werte, wieder die selben Zahlen sind, jedoch besser aufgelöst?

Danke schon mal für Eure Hilfe, ich hoffe jemand kann mir helfen

Schöne Grüße aus München


diskrete Interpolierung - dimitri84 - 08.06.2010 13:56

' schrieb:Das erste Problem ist:
das beim konvertieren von string in array, die Datensätze nicht mit den Nachkommazahlen geliefert werden.
Les in der Hilfe nach was dieser Formatstring bedeutet.
[attachment=26944]

Zitat:Das zweite Problem ist:
Wie kann ich es am besten machen, das meine interpolierten werte, wieder die selben Zahlen sind, jedoch besser aufgelöst?
Kapier ich nicht.

EDIT:

1) Du schneidest 50 Elemente aus und ermittelst dann die Größe dieses Teilarrays? Du vertraust wohl nichts und niemanden, was? Und warum überhaupt 50? FFT "mag" gerne 2er-Potenzen ... 2^n (ganzzahliges n).
2) Um 1 abzuziehen, gibt es ein Dekrementieren VI.
3) Du weißt schon, dass das FFT VI ein symmetrisches Spektrum ausspuckt? D.h. du musst dir den interessanten Teil entweder ausschneiden und die x-Achse mit einem entsprechenden Offset ausstatten.
4) Das "Komplex nach Polar VI" macht garnichts. Überflüssig?
5) Mein Favorit: Du teilst dein FFT-Array am letzten (?) Index und schiebst ein 128-Werte-langes komplexes Array mit 0+0i da rein - dann noch eine iFFT und dann behauptest du das ist ein Betragsspektrum? An welcher Uni/FH studierst du?

6) Hattest du mal ein Kindheitstraume im Zusammenhang mit geraden Linien, oder warum dieses wilde BlockdiagrammWink?



Beste Grüße dimitri


diskrete Interpolierung - igor_muc - 08.06.2010 14:35

Vielen Dank für die Antwort, hat geklappt mit den Werten.

Sorry es gibt gar kein zweites Problem.

Schönen Tag noch


diskrete Interpolierung - igor_muc - 08.06.2010 15:47

Ich schneide doch 32 Elemente aus meinen werten.

Ja hab schon gesehen. da ist mir ein kleiner Fehler unterlaufen, ich scheide es in der Mitte auf und setzte dann die Nullen ein, und es müssen komplexe Nullen sein.
Ich weiß schon das das VI a bisl wirr ausschaut, ist noch nicht die end Version.

Was ich noch nicht cheke ist, warum ich am ende keinen gescheiten Graphen bekomme.

Danke für deine Kritik ich habe es jetzt a bisl zusammengefaast, hast schon Recht gehabt.
servus


diskrete Interpolierung - dimitri84 - 08.06.2010 16:10

' schrieb:Ich schneide doch 32 Elemente aus meinen werten.
In der ersten Version waren's 50. Jetzt nimmst du einfach alle, sonfern das Einlesen klappen würde. Mach's besser so wie vorher.

Zitat:Ja hab schon gesehen. da ist mir ein kleiner Fehler unterlaufen,
BP ist vor einem guten Monat auch ein kleiner Fehler unterlaufen. Wink

Zitat:ich scheide es in der Mitte auf und setzte dann die Nullen ein, und es müssen komplexe Nullen sein.
Und warum? Was soll das sein? Der Versuch eines wie auch immer gearteten Frequenzfilters?


diskrete Interpolierung - Lucki - 08.06.2010 17:58

Hab mirs auch mal angesehen, und ich verstehe auch nIcht was das VI eigentlich soll. Den genau gleichen Plot erhält man doch mit einfachem Einlesen und Darstellung im XY-Graphen. Weder hat Du in deinem Plot weniger Rauschen noch sind es mehr Punkte. Was soll das denn alles?
[attachment=26960]
Lv85_img[attachment=26963]

Edit: Die Idee, mittels Fourieranalyse ein Kurve zu interpolieren, ist gar nicht mal schlecht - nur gibt es dafür ein fertiges VI. Man kann es sogar öfnen und nachschauen, wie es die Supergurus gemacht haben. Oder aber man verwendet es einfach. Habe mal damit die Anzahl die Kurvenpunkte vervierfacht
Lv85_img[attachment=26961]

Edit 2: VIs inLv85_img


diskrete Interpolierung - igor_muc - 08.06.2010 20:15

Servus,

kannst du mir bitte die vi's für die ver 8.5 kompatibel machen,
ich möchte sie mir gerne anschauen

danke schon mal im voraus


diskrete Interpolierung - dimitri84 - 09.06.2010 08:57

' schrieb:Die Idee, mittels Fourieranalyse ein Kurve zu interpolieren, ist gar nicht mal schlecht - nur gibt es dafür ein fertiges VI.
Jetzt hab' ich was dazu gelernt. @Lucki: Hast du da mal die interessanten Unterschiede zu Spline-/Linear- Interpolation parat?

Edit: Mein Vergleich.

Zitat:Man kann es sogar öfnen und nachschauen, wie es die Supergurus gemacht haben.
Zieh ich mir mal rein inner ruhigen Minute. Kannte diese Methode nicht.


diskrete Interpolierung - igor_muc - 09.06.2010 12:23

So gehts Leute
servus


diskrete Interpolierung - Lucki - 09.06.2010 12:49

' schrieb:@Lucki: Hast du da mal die interessanten Unterschiede zu Spline-/Linear- Interpolation parat?
Für Dich tue ich doch alles, und so habe ich doch gleich mal eine kleine Demo vorbereitet.
Zu den Unterschieden: Die Fourier-Aproximation funktioniert nur, wenn die Kurvenpunkte einheitliches dt haben. Bei Spline muß diese Einschränkung nicht sein.
Die Fourier-Aprox. ist eigentlich ganz einfach: jeder einzelne Messpunkt Yi wird durch eine Spaltfunktion ersetzt. Die interpolierte Kurve ist weiter nichts als die Summe der Spaltfunktionen aller Messwerte.
Die Unterschiede sind:
(I) Bei Fourier sind alle Ableitungen stetig, bei Spline gilt das nur bis zur 3. Ableitung.
(II) Bei Spline ist der Wert eines Messpunktes mehr als drei Messwerte vorher/hinterher vergessen. Bei Fourier wird nichts vergessen, jeder Wert beeinflußt irgendwie die ganze Kurve.
Lv85_img[attachment=26987]
[attachment=26988]