LabVIEWForum.de - Signal glätten

LabVIEWForum.de

Normale Version: Signal glätten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo zusammen,

ich möchte ein Kraftsignal eines Hydraulikzylinder glätten, das aufgrund der Pulsation der Hydraulik stark verauscht ist ( siehe Bild 1). Da ich mit dem Signal eine Kraft-Weg Hysterese erstelle, möchte ich das Signal eigentlich nicht filtern, damit mir nicht die Zuornung von Weg- und Kraftsignal
verloren geht, oder?
Bisher habe ich mit einer gleitenden Mittelwertbildung das Signal aufbereitet, was aber zu einem terassenförmigen Signal mit scharfen Kanten führt (siehe Bild2).
Dadurch sieht die Hysterese auch ziemlich zerhackt aus (siehe Bild3).

Frage: 1. Wie kann ich einen fließenden Übergang zw. den "Terassen" herstellen, oder auch
mehrere Abstufungen erzielen? Ich habe schon mit 100 Samples, statt mit -1 eingelesen,
was zu ganz annehmbaren Ergebnissen geführt hat. Allerdings verzögert sich dann meine
ganze Datenerfassung, was ich nicht möchte.

2. Gibt es ein bessere Möglichkeit der Aufbereitung?

Die Glättung dient nur einer möglichst ansprechenden Darstellung der Hysterese im XY-Graph.
Die Werte können also zu optischen Zwecken verfälscht werden.

Hat jemand einen Tipp? Ich wäre für jede Art von Hilfe sehr dankbar.

Viele Grüße
Martin



LV 8.2
' schrieb:Bisher habe ich mit einer gleitenden Mittelwertbildung das Signal aufbereitet, was aber zu einem terassenförmigen Signal mit scharfen Kanten führt (siehe Bild2).
Scharfe Kanten bei gleitendem Mittelwert? :unsure:Kann ich mir jetzt nicht erklären.

Zitat:Die Glättung dient nur einer möglichst ansprechenden Darstellung der Hysterese im XY-Graph.
:offtopic:Eigentlich finde ich das nicht so gut. Damit kann man nämlich die tatsächlich vorhandenen, kurzen Krafteinbrüche eliminieren. Und der Kunde wundert sich, wieso man das Knacken des Prüflings nicht in der Graphik sieht. Wenn einer schöne Kurven haben will, soll er sie sich doch malen.

Zitat:Hat jemand einen Tipp? Ich wäre für jede Art von Hilfe sehr dankbar.
Ich sample immer einer ganzen Zyklus und glätte das Signal hinterher.

Ich habe eine Frage zu den Bildern: Das erste Bild sind die ungeglätteten Daten. Und das zweite Bild ist eine Glättung des ersten Signales? Sollte die Kurve eher wie ein Dreieck aussehen?
Hallo "IchSelbst",

Das erste Bild ist das Originalsignal und das Zweite das Geglättete.
Wenn ich den Grundverlauf der Originalkurve ohne die Kraftüber- und Unterschwinger richtig interpretiere müsste das schon eine Art dreieckiges Signal sein (siehe Bild).
Allerdings mit steilen Übergängen an den Umkehrpunkten der Kolbenbew. des Zylinders.

Wie die Kurve ohne die ganzen Über/Unterschwinger aussieht kann ich sonst auch nur raten.
Vielleicht trifft die höchste graphische Dichte entlang des Verlaufs sozusagen die Kurvenform.

Was heißt du samplest einen ganzen Zyklus und glättest danach? Zyklus= komlette Messung und Glättung dann offline?

Mein Studienarbeitbetreuer hätte halt gerne eine schöne Hysterese. Deshalb der ganze Aufwand.
Viele Grüße

Martin
Hi,
dein gleitender Mittelwert sieht irgendwie eigenartig aus. Bist du sicher, dass die Berechnung stimmt? Sprünge gehen da eigentlich gar nicht. komisch. Vergrößere doch mal dein Zeitfenster. Warum du nicht mit nem Tiefpass filtern willst habe ich nicht genau verstanden. Kannst auch nen Medianfilter verwenden, aber da gibt es Sprünge.
MfG Jeffrey
' schrieb:Allerdings mit steilen Übergängen an den Umkehrpunkten der Kolbenbew. des Zylinders.
Doch, das kann wohl auch vorkommen.

Zitat:Was heißt du samplest einen ganzen Zyklus und glättest danach? Zyklus= komlette Messung und Glättung dann offline?
Ja genau. Bei mir sind die Betätigungen halt immer nur kurz. Maximal 20 Sekunden.

Zitat:Mein Studienarbeitbetreuer hätte halt gerne eine schöne Hysterese. Deshalb der ganze Aufwand.
Mal sehen, ob ich was zum Glätten finde. Hast du bei den vielen Standard-VIs nichts gefunden zum Glätten?
Hallo,

@Jeffrey: Ich wollte nicht filtern, da nach meinem Wissenstand Filtern= Datenverluste bedeuten.
Somit wird das Array an Messwerten verkleinert und zusammengeschoben und passt nicht mehr zur Wegerfassung und ist zur Hysteresebildung nicht mehr zu gebrauchen. Oder liege ich hier falsch?

Das VI zum gleitenden Mittelwert habe ich hier aus dem Forum gezogen und müsste eigentlich funktionieren.

bisher habe ich folgendes beobachtet: das Array das Ausgelesen wird ( mit -1) ist immer ca 250 Elemente groß (Warum eigentlich)?. Bei einer Abtastrate von 1000 und einer Frequenz von 0,5 Hz des erfassten Signals bekomme ich dabei immer 4 Sprünge innerhalb einer Flancke was auch mathematisch logisch ist.Nach jedem Einlesen des Array scheint es danach einen Sprung zu geben.

Eigentlich habe ich gedacht ich könnte die einzulesenden Samples mit der Waitfkt. und der Abtastrate steuern, dem ist hier aber nicht so. Es sind immer 250 Elemente.


@ IchSelbst: Ich habe keine Glättungs-VI finden können oder meinst du Filter?

Viele Grüße
Martin

LV 8.5
gelöscht, Sch.. PC
' schrieb:Hat jemand einen Tipp? Ich wäre für jede Art von Hilfe sehr dankbar.
Gibt doch auch mal den Suchbegriff "Glättungsfilter" ein, ich habe zu diesem Thema schon etliche Antworten gegeben. Es gibt auch ein Express.VI "Filtern", dort kann "Glätten" ausgewählt werden, mit rehteckiger, dreieckförmiger oder exponentieller Gewichtsfunktion. Die Laufzeitverzögerung gegenüber der Originalkurve muß eventuell dadurch kompensiert werden, daß die Kurve um die Halbwertsbreite an Punkten nach links verschoben wird.
Vorsicht: Das Express-VI hatte bei dreieckfömiger Gewichtsfunktion einen Fehler, aber der ist vielleicht inzwischen weg.
Natürlich ist ein Glättungsfilter immer auch ein Tiefpass, Du mußt experimentieren mit welcher Halbwertbsreite und welcher Glättungscharakteristik der beste Kompromiss erreicht wird.
Wenn Du mit den Beispielen nicht klar kommst, melde Dich wieder
Tip: Eine Datei mit Originaldaten wäre hundertmal besser als Dein VI oder die Bilder. Z.B VI mit nur einem XY-Diagramm hocladen, in dem die Daten als Standard gespeichert sind.

PS. Solche Störungen sind übrigens typisch bei falschen Erdungsverhältnissen. Als erstes würde ich dagegen etwas unternehmen, ob dann überhaupt noch Filterung nötig ist, sei mal dahingestellt...

Edit:
@aston: Es gibt meines Wissens nach kein Glättungfilter, sondern nur das VI "Glättungsfilter-Koeffizienten". Die Koeffizienten sind an den entsprechenden Eingang eines FIR-Filters anzuschließen. Das "Glättungsfilter" besteht also, wenn man so will, aus zwei VIs.
Oder aber das oben erwähnte Express-Filter-VI mit Selektion "Glättung" nehmen..
Hallo,

vielen Dank für eure Tipps und Ratschläge.
Ausprobieren was als Glättungsmöglichkeit alles funktioniert, kann ich leider erst am Montag wieder,
wenn ich am Prüfstand bin.

@Lucki: Ich glaube eigentlich nicht das ich Erdungsprobleme habe. Mein Wegsignal kommt sehr sauber rein. Komischerweise macht es bei aber auch keinen Unterschied ob ich RSE, NRSE oder differentiell einstelle. Was ist eigentlich die Einstellung Standard?

Am Montag werde ich deinen Vorschlag mit Gewichtungsfkt., Halbwertsbreite, usw. mal ausprobieren.
Momentan kann ich nur einen Datensatz der Messung in einer TDMS-Datei anbieten.
Auf ai0 liegt das Wegsignal und auf ai2 das Kraftsignal ungefiltert, die zusammen die Hysterese bilden sollen.

nochmal zu meiner gleitenden Mittelwertbildung:
Irgendwie funktioniert das VI nicht richtig am Anfang und Ende des Arrays. Warum ist für mich aber nicht ersichtlich. Oder sitzt es in meinem Haupt-Vi an der falschen Stelle?

Danke nochmals.
Gruß Martin


Mist, kann die Datei leider nicht hochladen.
' schrieb:nochmal zu meiner gleitenden Mittelwertbildung:
Irgendwie funktioniert das VI nicht richtig am Anfang und Ende des Arrays. Warum ist für mich aber nicht ersichtlich. Oder sitzt es in meinem Haupt-Vi an der falschen Stelle?
Aber das ist doch völlig klar, wenn Du um einem Datenpunkt herum die Nachbarwerte zur Mittelwertbildung benutzt, funktioniert das am Anfang und am Ende nicht, weil dann diese Elemente außerhalb des Array liegen, oder im Klartext: nicht existieren. Man hat aber bei der Datenerfassung genügend Werte zur Verfügung, so daß man die nicht gültigen Werte wegschmeißen kann (siehe VI).
[attachment=11093]Lv85_img
Wenn Du eine in sich geschlossene Kurve hast, dann würde ich die Werte nicht wegschmeißen, sondern, wenn am Ende die Elemente fehlen, die Werte am Anfang benutzen, und umgekehrt. Das geänderte VI sähe dann so aus:
[attachment=11095]
Seiten: 1 2 3
Referenz-URLs