WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

FFT Filter

 

Stromberg
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 13.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2014, 11:35     Titel: FFT Filter
  Antworten mit Zitat      
Hallo,

ich bin Matlab Anfänger und würde gerne in Matlab einen FFT-Filter umsetzen, welchen ich in Orgin schon zur Glättung von Messdaten eingesetzt habe:

(http://www.originlab.de/index.aspx?go=Products/Origin/DataAnalysis/SignalProcessing/SmoothingAndFitting&pid=7Cool

in Matlab habe ich mir die vorhanden Filterfunktionen der Signal Processing Toolbox angeschaut, aber nichts passendes bzw. äquivalentes gefunden.


Die Messdaten liegen in einer Matrix vor und wurden alle 0.001 Sekunden erstellt. Jede Spalte entspricht einem Sensor.

Ich würde gerne die Messdaten der Matrix mit einem Tiefpassfilter zweiten Grades und einer Grenzfrequenz von 10 Hz filtern bzw. glätten, um das hochfrequente Signalrauschen zu unterdrücken.


Kann mir hier jemand weiterwelfen?
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 14.10.2014, 19:30     Titel:
  Antworten mit Zitat      
Es gibt das

Code:


mit dem man digitale Filter nach verschiedensten Design Methoden erstellen kann. FIR und IIR Tiefpassfilter etc...

Warum aber nur 2. Ordnung? Das scheint mir bei Fa = 1000 Hz und Filtergrenzfrequenz von 10 Hz zu wenig. Da wird die Dämpfung im Sperrbereich wohl sehr gering ausfallen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Stromberg
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 13.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.10.2014, 21:22     Titel:
  Antworten mit Zitat      
Hallo,

vielen Dank für den Tipp. Ich bin mit dem fdatool nicht so zurecht gekommen, wie ich es mir erhofft habe. Deshalb habe ich es mit den digtalen Filtern

sgolayfilt http://www.mathworks.de/help/signal/ref/sgolayfilt.html

und

butter http://www.mathworks.de/help/signal/ref/butter.html

probiert und sehr gute Ergbnisse erzielt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Stromberg
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 13.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2014, 14:04     Titel:
  Antworten mit Zitat      
Hallo,

ich war wohl mit meiner Antwort zu schnell. Bei der genauen Betrachtung der Filterergebnisse erscheinen die von mir angewandten Filter und deren Parametrierung nicht geeignet. Die Rohdaten sowie den plot habe ich nun mit anghängt.

Der Verlauf der Daten ist wie folgt:
Sprunghafter Anstieg bis zu einem Maximum, danach abfallend und sich einpendelnd mit einer Restwelligkeit.

Der Zeitpunkt des sprunghaften Anstiegs sollte durch den Filtereinsatz nicht beeinflusst werden.

Kann mir hier jemand mit einem geeigneten Filteransatz weiterhelfen?

Daten.rar
 Beschreibung:

Download
 Dateiname:  Daten.rar
 Dateigröße:  2.86 KB
 Heruntergeladen:  564 mal
Daten.png
 Beschreibung:

Download
 Dateiname:  Daten.png
 Dateigröße:  9.01 KB
 Heruntergeladen:  573 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.12.2014, 16:16     Titel:
  Antworten mit Zitat      
Stromberg hat Folgendes geschrieben:

Der Zeitpunkt des sprunghaften Anstiegs sollte durch den Filtereinsatz nicht beeinflusst werden.


Das ist schlicht unmöglich, da ein Filter immer ein Delay hat, um den das Ausgangs- gegenüber dem Eingangssignal verschoben ist. I.d.R haben FIR Filter einen größeren Delay als IIR Filter. IIR Butterworth oder Chebyshev Tiefpassfilter sollten was den Delay betrifft wohl die bessere Wahl sein. Allerdings muss man hier halt immer abwägen. Je höher die Dämpfung im Sperrbereich sein soll, vergrößert sich auch das Delay. Mit steigender Filterordnung sowieso.

Entweder verschiebst du dein Signal nach dem Filtern um das Filterdelay wieder nach links, oder nutzt die Funktion:

Code:


Der Signalverlauf kommt mir sehr bekannt vor. Ist das zufällig eine Gewichtsmessung an einem Checkweigher?
Private Nachricht senden Benutzer-Profile anzeigen
 
Stromberg
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 13.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2014, 22:32     Titel:
  Antworten mit Zitat      
Hallo

und vielen Dank für die schnelle Antwort. Bei dem Verlauf handelt es sich um einen Kraftverlauf einer schlagartig belasteten Kraftmessdose über der Zeit.

Da mehrere Kraftmessdosen verwendet werden und nach dem Filtern zu einer Summenkraft aufaddiert werden sollen, ist mir die Verschiebung des Ausgangs- gegenüber dem Eingangssignals sehr wichtig bzw. sollte sehr gering sein.

Eine andere Möglichkeit wäre, zunächst die Summenkraft aus den Rohdaten zu bilden und dann zu filtern bzw. zu glätten.

Mein Grundproblem sehe ich in der Vielzahl an Möglichkeiten unterschiedlicher Filter und deren Parametrierung hierbei den "richtigen" zu finden.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.12.2014, 08:10     Titel:
  Antworten mit Zitat      
Mal anders gefragt...welche Leistung des Filters erhoffst du dir denn (Grenzfrequenz, Dämpfung etc.)?

Die Frage lässt sich aber nur hinreichend genau beantworten, wenn man sich die Messsignale im Frequenzbereich anschaut.

Das eine richtige Filter gibt es hierbei wohl nicht, da vermutlich bei solchen Messungen auch externe Einflüsse eine Rolle spielen. Insofern ist trotz gleicher Belastung (Kraft) des Messgeräts verschiedene Messungen nie gleich.

Das Delay des Filters ist aber immer gleich (Filter mit konstanter Gruppenlaufzeit vorausgesetzt), weshalb auch jedes Messsignal einer einzelnen Kraftmessdose um den gleichen Betrag verschoben wird. Es gibt aber auch Filterdesignmethoden, bei denen das Delay auf ein Minimum reduziert wird. Stichwort minimalphasige Filter. Diese haben aber keine konstante Gruppenlaufzeit mehr, sondern sie ist abhängig von der Frequenz. Bei linearphasigen Filtern beträgt die Durchlaufverzögerung eines Eingangssignal zum Ausgang die halbe Filterlänge. Also ein FIR Filter mit N Stufen hat ein Delay von (N-1) / (2*Fs)
Private Nachricht senden Benutzer-Profile anzeigen
 
Stromberg
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 13.10.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.12.2014, 00:24     Titel:
  Antworten mit Zitat      
Auch das ist eine gute Frage. Was ist die richtige Dämpfung und kann diese für alle Kraftaufnehmer konstant verwendet werden?

Die Messsignale habe ich mir bereits im Frequenzbereich angeschaut (s. Anhang).

Aus dem Amplitudenspektrum kann ich nicht so viel erkennen. Es handelt sich hier um eine Vielzahl von Frequenzen, welche durch den Stoß angeregt werden.

Markant sind hier die die Amplituden bei 5 Hz, 90 Hz, 150 Hz und 270 Hz.

Einseitiges Amplitudenspektrum.png
 Beschreibung:

Download
 Dateiname:  Einseitiges Amplitudenspektrum.png
 Dateigröße:  10.69 KB
 Heruntergeladen:  593 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 19.12.2014, 10:24     Titel:
  Antworten mit Zitat      
Bitte mal eine Darstellung der Magnitude in dB. Also...

Code:
plot(frequenz, 20*log10(amplitude + eps)) % eps ist eine kleine Konstante zur Vermeidung von log10(0) = Inf


Stromberg hat Folgendes geschrieben:
Auch das ist eine gute Frage. Was ist die richtige Dämpfung und kann diese für alle Kraftaufnehmer konstant verwendet werden?


Das kann ich dir doch nicht beantworten Wink. Das hängt davon ab, welche Störungen im Signal nach der Filterung noch akzeptabel sind. Klar will man möglichst alles beseitigen, aber das geht in deinem Fall nicht. Das Eingangssignal (Kraft einwirkend auf die Messdose) entspricht ja einer Rampe, da eine endliche Steigung des Anstiegs bis zum Anliegen der Maximalkraft vorliegt. Im Idealfall wäre das ein Rechteck-Signal. Da diese Signalformen im Frequenzbereich aber über den kompletten Frequenzbereich vorliegen, führt eine Tiefpassfilterung immer zu einem Informationsverlust. Die Ecken werden abgerundet und somit wird der Zeitbereich, in dem die Maximalkraft anliegt, immer kleiner. Ist dann das Filterdelay zu groß, wird die Maximalhöhe gar nicht mehr erreicht.

Es stellt sich nun bei der Frage bzgl. der Dämpfung, wie viel Informationsverlust kannst du dir erlauben. Laut deinem Spektrum würde ich mal eine Grenzfrequenz von 45Hz festlegen. Danach gibt es nämlich einen Anstieg der Amplitude, welcher nicht vom Eingangssignal stammt. Das Spektrum eines Reckecks wird wird steigender Frequenz immer falcher. Wieviel Delay das Filter haben kann, hängt vor allem davon ab, wie viel Zeit zwischen 2 Messungen liegt und eben wie klein der Bereich mit konstanter Maximalkraft werden kann. Um das Delay zu verringern und gleichzeitig eine hohe Dämpfung zu erreichen, musste beim Design eine Methode für minimalphasiges Filter gewählt werden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.