Verfasst am: 16.01.2015, 15:26
Titel: Rauschen aus Messdatenreihe entfernen/filtern - Problem
Hallo Zusammen,
ich habe eine Frage zu bzw. ein Problem mit dem Herausfiltern von Rauschen aus einer Messdatenreihe. Habe hierzu schon andere Beiträge nutzen können, um meine Ergebnisse schon mal etwas verbessern zu können.
Wenn ich meine Messdaten filtere dann kommt es zwangsläufig zu einer mehr oder weniger starken Verschiebung des "geglätteten Graphen" gegenüber der Ausgangskurve (siehe Bild).
Meine Frage: Kann man diese Verschiebung beseitigen ...bzw. minimieren? Bin noch nicht zufrieden mit meinen Resultaten.
Bisher verwende ich folgenden...recht einfach wirkenden Code:
Ach ja....die Abtastrate des Messsignals sind 1600Hz
Durch "herumspielen" komme ich zu keinen besseren Ergebnissen (kann ja gar nicht zielführend sein...)
Da ich Neuling auf diesem Gebiet bin, wäre es echt gut, wenn mir jemand weiterhelfen könnte, wie ich vorgehen kann, um die Daten zu verbessern!
wodurch das Signal 2 mal gefiltert wird. Beim 2. mal wird dann aber das Signal umgedreht und somit kommt der letzte Messwert zuerst in den Filter. Dadurch wird das Signal wieder zurückgeschoben. Allerdings kann das auch einige unschöne Nebeneffekte haben, die einfach durch die Filtercharakteristik kommen. Wenn du ein Filter mit einem konstanten Delay (viele FIR Filter, dein IIR Butterworth Filter gehört nicht dazu) kannst du es einfach selbst zurückschieben. Ein FIR Filter mit 10. Ordnung (9 Koeffizienten B) verschiebt das Signal dann eben um 9 Abtastwerte.
Es gibt auch Filter, dessen Design auf ein möglichst geringes Delay ausgelegt ist, sogenannte minimalphasige Filter.
Allerdings scheint mir dein Filter nicht ganz geeignet, da es nur sehr träge auf die Flanken des eigentlichen Signals reagiert. Möglicherweise ist auch einfach die Grenzfrequenz schon zu niedrig angesetzt oder der Verlauf der Dämpfung im Sperrbereich einfach nicht optimal. I.d.R. untersucht man ein Signal zunächst u.a. im Frequenzspektrum um dann das Filter auslegen zu können.
und poste das Amplitudenspektrum hier. Evtl. auch mal dein Nutzsignal, wie im Bild gezeigt schnell nachbilden und ebenfalls das Amplitudenspektrum erzeugen und mit in den Plot legen. Dann siehst du recht schnell, welchen Frequenzbereich dein Nutzsignal und welchen das Störsignal hat.
Zunächst habe ich mich gewundert, was diese Daten mit dem Bildausschnitt im ersten Post zu tun haben. Aber das zeigt nur das Ende, wo das Störsignal einen deutlich höheren Anteil hat da die Amplitude des Nutzsignals so gering ist. Du kannst deinen Filtervorschlag ruhig verwenden und eben einfach filtfilt benutzen um das Signal um das Filterdelay wieder zu verschieben. Bis auf das Ende, wo das Filter etwas zu träge auf die Signaländerungen reagiert, ist das Ergebnis ok. Aber das sind ja nur die letzten 2 Sekunden des Signals. Die "restlichen" 248s sind damit aber sauber gefiltert.
und poste das Amplitudenspektrum hier. Evtl. auch mal dein Nutzsignal, wie im Bild gezeigt schnell nachbilden und ebenfalls das Amplitudenspektrum erzeugen und mit in den Plot legen. Dann siehst du recht schnell, welchen Frequenzbereich dein Nutzsignal und welchen das Störsignal hat.
Wie sehe ich in den Plots die Frequenzbereiche von Nutzsignal und Störsignal, wie lese ich hier nun die Grenzfrequenz ab?
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.