LabVIEWForum.de - Geglättete Ableitung nicht ganz korrekt

LabVIEWForum.de

Normale Version: Geglättete Ableitung nicht ganz korrekt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

da benutze ich mein erstes Express-vi und dann sowas.
Also ich habe eine Array-Konstante (ansteigende Kurve - nur fast eine Gerade - leicht abfallende Steigung). Ich nehme die erste Ableitung (Punkt für Punkt). Ziemliches Gezucke, aber soweit so gut.
Aber bei der Glättung haut es mir zu Anfang einen mächtigen Sprung rein, der so nicht richtig ist.
Bis t=5 sec sind apparativ bedingt, die y-Werte bei 0. DAnach ein Sprung würde ich ja verstehen, aber der Sprung taucht bei ca. 20 sec auf. Was läuft denn da falsch, oder müssen meine Mathematik-Kenntnisse aufgefrischt werden?
Zur Erklärung der Fotos: Jeweils die drei arrays mit Graphen (Konstante, Ableitung, geglätte Ableitung).
Wer was weiß bitte melden ;-)

Schönen Gruß

PeterLv80_img

[attachment=13497]

[attachment=13498]

[attachment=13499]
Weder noch...
schau dir mal deine source konstante genauer an, dann wird dir beim nachrechnen auffallen dass der absturz der glaettung mathematisch korrekt ist
Hallo,

und vielen Dank. Ich fürchte ja, Du hast recht. Obwohl, wenn ich mir in Origin die ersten 25 sec anschaue, hätte ich es schon lieber anders geglättet.
Ich gestehe auch, mir die source nicht genauer angeschaut zu haben, das ist mir jetzt ohne auszugsweisen Druck halt zu müßig; dafür habe ich es ja in Origin gezoomt. Mein Auge sagt mir aber nach 5 sec geht's los mit der Steigung und , okay, bei 12 sec ist wohl auch ein "kleiner Ausreißer".
Ich gestehe auch, gar nicht genau zu wissen wie die Glättung funkioniert (wohl hier und da ein Mittelwert), aber DESHALB habe ich ja auf ein express-vi zurückgegriffen.

Nun ja, ich variier mal dt für die Ableitung, mal schauen was da raus kommt.

Schönen Gruß

Peter

P.S.: Falls jemand Origin nicht kennt, ist kurz gesagt das bessere Excel ;-)

[attachment=13506]
Hallo,

ich noch mal. Hat zwar n kleinen Bart, der thread, aber eine Unstimmigkeit gibt's da noch.

@freedive: Das Maximum der ersten Ableitung hat sich inzwischen als große Hilfe bei der Ausewertung der Spektren (Array-Konstante) erwiesen. Ich sah dem Spektrum da zwar kein Maximum an, aber sehr, sehr hilfreich.Rolleyes

ABER: Die Skalierung der y-Achse ist unterschiedlich zwischen der ersten Ableitung und der geglätten Version davon. Im ersten thread nicht, aber ich habe inzwischen einige Spektern durchs Prog gejagt und der Fehler (ist es ja wohl !?) kommt zu 90% vor.

Wenn mir da noch jemand weiterhelfen könnte wäre schön.

Ich habe noch mal das gleich vi vom ersten posting angehängt, diesmal mit einer anderen array-Konstante, eine die halt den Fehler macht (siehe auch screenshot). Hier liegt das MAximum der ersten Ableitung bei 0,0025 und bei der geglätteten Version bei 0,008 und das ist ja nun nicht unerheblich.

Schöne Grüße

PeterLv80_img

[attachment=13692]

[attachment=13693]
Hallo, Peter,

anfangs wollte ich dich ja (so ganz grundsätzlich) für die Verwendung von Express-VIs tadeln. Ich habe mich aber doch erst mal in die Tiefen den Source-Codes begeben und ich denke, ich weiss, wo der Fehler liegt (und er liegt nicht bei dir).

Tief innerhalb des Express-VI wird bei den von dir gewählten Einstellungen (triangular Window, Smoothing Average) ein Filter kreiert, und der ist bei der Einstellung triangular fehlerbehaftet:

[attachment=13694]
[attachment=13695]

Das fehlerhafte VI ist "Smoothing Filter Coefficients.vi" aus der NI_AAÖBase.lvlib.

Kompletter Pfad: ...LabVIEW 8.5vi.libAnalysis3filter.llbSmoothing Filter Coefficients.vi

Wenn du das nicht editieren willst, dann stell auf "rectangular Window" um, und alles funktioniert wie gewünscht.

MfG, Jens
Hallo,

@Jens: Vielen Dank für Deine Mühen! Ich weiß es zu schätzen. Ich erwähnte ja, dass ich zum ersten Mal ein Express-vi benutzte, ich hab ja die Reaktionen zuvor beobachtet Big Grin
Obwohl, einen gepflegten Anschiss kann ich schon wegstecken. Ist ja auch heute ganz amüsant.

Das Ding ist: Im Grunde meines Herzens bin ich Chemiker und bei der Glättung war/ist mir die Mathemathik zu müßig, obwohll die Mathematik generell mein Freund ist. Ich hab ja auch am Express-vi rumgespielt und hier und da (nicht mehr wiisend was) etwas verändert. Auch Fehler.

Fazit: Danke, und die Änderung von dreieckig auf rechteckig hat's gebracht Yourock (find's mosh-icon nicht)

Das fehlerhafte vi zu editieren ist gut gemeint, aber das mu0 ich mir zuvor mal in aller Ruhe anschauen (aktuell kenn ich den Unterschied überhaupt nicht Sad.

Vielen Dank

Peter
In 8.6 ists gefixt...
Habe Dein VI mal etwas "modernisiert", ExpressVi eliminiert und Anfangsbedingungen (beim Differenzieren und beim Mittelwert bilden) korrekt berücksichtigt. Außerdem den Zeitversatz beim Mitteln kompensiert.
Auf die bessere dreieckförmige Gewichtung brauchst Du wegen des fehlerhaften Filterkoeffizientzen-VI nicht zu verzichten. Das VI läßt ich öffnen und mit einer winzigen Änderung korrigieren.
Lv82_img[attachment=13698] Jens hat auf die Korrektur ja schon hingewiesen.
(Die Plot-Legende hatte ich in 8.5 waagrecht gestreckt, was in 8.2 nicht möglich ist. Deshalb die kleine Verstümmelung.)
' schrieb:ABER: Die Skalierung der y-Achse ist unterschiedlich zwischen der ersten Ableitung und der geglätten Version davon. Im ersten thread nicht, aber ich habe inzwischen einige Spektern durchs Prog gejagt und der Fehler (ist es ja wohl !?) kommt zu 90% vor.
Das ist absolut unvermeidlich, dagegen hilft nur eine intelligentere Filterung als diese einfache Glättung durch Mittelwertbildung benachbarter Werte.
Überleg doch mal: Du bildest am Ort des Maximums den Mittelwert unter Verwendung soundsviel benachbarter, allesamt tiefer liegender Werte. Natürlich ist dieser Wert dann immer geringer als das ursprügliche Maximum!
Hallo Lucki,

danke sehr, das sieht ja wirklich nach Mühe aus. Und ein bißchen nach Weihnachten (rote Kurve mit weißen Pünktchen) Lol
Wie erwähnt, bin ich bei der Glättung nicht wirklich in der Materie. Bei Deiner "neuen" Version ist allerding dieses Maximum (beim array aus erstem posting) nicht mehr da, bzw. so deutlich zu erkennen. Mit dem Express-vi und der Einstellung "rechteckig" erziele ich aktuell die besten Ergbenisse.
Ich hab die halbe Nacht damit verbracht Spektren durchs Prog zu jagen und mich übers Maximum freudig erregt.
Dass die zweite Ableitung am Maximum nicht =0 ist, ist zwar etwas schade, aber das ist eine andere Geschichte...

Gruß und Dank

Peter

(ach ja ich hab 8.5. (JA, ich werde mein Profil ändern)
Seiten: 1 2
Referenz-URLs