|
|
Bandstop-Filter filtert nicht |
|
Illmatic |
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 19.06.12
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2011b
|
|
|
|
|
|
Verfasst am: 19.06.2012, 16:43
Titel: Bandstop-Filter filtert nicht
|
|
Hallo zusammen,
ich möchte gerne von einem Signal einen bestimmtes Frequenzband herausfiltern.
Die Abtastzeit des Signals ist 0.01s.
Das Signal heißt a_mess.
Ich habe mal das Signal und das Spektrum des Signals mit angehangen. Wenn ich das nun richtig verstanden hatte müsste man den Peak bei 15Hz herausfiltern, da dies quasi das Rauschen ist. Dafür wollte ich folgenden Filter verwenden:
Wenn ich nun allerdings a_filter plotten lasse sehe ich keinen Unterschied zum ungefilterten Signal.
Was habe ich falsch gemacht?
Vielen Dank schon im Voraus!
Beschreibung: |
|
Download |
Dateiname: |
signal.jpg |
Dateigröße: |
22.48 KB |
Heruntergeladen: |
1163 mal |
Beschreibung: |
|
Download |
Dateiname: |
ampspec.jpg |
Dateigröße: |
14.72 KB |
Heruntergeladen: |
1194 mal |
|
|
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 19.06.2012, 19:01
Titel:
|
|
Das Filter funktioniert schon, allerdings erwartest du eine höhere Dämpfungsleistung, als das Filter bieten kann.
Schau dir mal mit
den Dämpfungsverlauf deines Filters an. -20 dB sind eben auch nicht gerade viel. Für eine höhere Dämpfung müsstest du die Filterordnung erhöhen...aber das geht mit diesem Filterdesign nicht beliebig. Noch effektiver wäre ein Notchfilter...du willst ja nur einen ganz kleinen Freq.-bereich sperren und dafür sind diese Filter entwickelt worden.
|
|
|
Illmatic |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 19.06.12
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2011b
|
|
|
|
|
|
Verfasst am: 19.06.2012, 20:03
Titel:
|
|
Hey danke!
Der funktioniert schon mal viel besser!
Hab ihn folgendermaßen verwendet:
Nun habe ich allerdings im Internet noch einen anderen Filter gefunden, bei dem ich allerdings nicht recht verstehe wie er funktioniert, der allerdings noch besser filtert (zumindest optisch).
Die Ergebnisse habe ich angehangen.
Beschreibung: |
Mit Filter aus dem Internet |
|
Download |
Dateiname: |
unbekannt.jpg |
Dateigröße: |
18.47 KB |
Heruntergeladen: |
1216 mal |
Beschreibung: |
|
Download |
Dateiname: |
bandstop.jpg |
Dateigröße: |
23.71 KB |
Heruntergeladen: |
1190 mal |
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 20.06.2012, 10:21
Titel:
|
|
|
|
|
Das ist ein ganz einfaches FIR Mittelwertfilter mit der Länge 13. Es hat Tiefpassverhalten und dämpft damit nicht nur um deinen gewünschten Bereich von 15 Hz. Es empfielt sich immer wenigstens das Betragsspektrum des Filters anzuschauen. Die Phase hat ja erstmal ein untergeordnete Rolle. So siehst du aber sofort das Dämpfungsverhalten des Filters
Das MWF hat insgesamt iN - 1 Nullstellen. Das Dämpfungsverhalten in den Nullstellen des Filters kann man mit einem Notchfilter vergleichen. Die Dämpfung ist dort theoretisch unendlich hoch. Die Nullstellen liegen bei
fs/iN, 2*fs/iN...(iN-1)*fs/iN...was auch in dem oberen Plot von freqz dargestellt ist. Hast du iN bewusst so gewählt? Die 2. Nullstelle liegt nämlich bei 15,3 Hz (=2*fs/iN). Aber das Filter dämpft dein Signal schon ab 3.4 Hz ( = Grenzfreq. des MWF).
Allerdings habe ich an Hand deiner Plots ohnehin den Eindruck, dass du gar nicht ein Notchfilter haben willst, sondern die hohen Freq. aus deinem Signal filtern willst. Dazu wäre das Tiefpassfilter schon richtig...aber da gibt es deutlich leistungsfähigere als dein MWF. Evtl. hilft ja aber auch schon die Funktion smooth()
|
|
|
Illmatic |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 19.06.12
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2011b
|
|
|
|
|
|
Verfasst am: 20.06.2012, 11:34
Titel:
|
|
Hallo DSP,
dank deinem Vorschlag habe ich mir mal die Ergebnisse von ein paar Tiefpassfiltern angeschaut und diese tun tatsächlich genau das, was ich wollte. Die Funktion smooth hat das Signal irgendwie an den Rändern nicht korrekt geglättet weswegen der Tiefpassfilter in dem Fall gewinnt.
Vielen Dank für deine Hilfe!
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 20.06.2012, 11:45
Titel:
|
|
Die Funktion smooth arbeitet beim Ein- und Ausschwingvorgang nicht wie die herkömmlichen Filter. Hier wird etwas getrickst, in dem die ersten Werte nicht wie der Mittelteil gefiltert wird. smooth ist auch nichts anderes als ein gleitender MWF, nur das die Länge des Filters an den Rändern verkürzt wird, um den Ein- und Ausschwingvorgang zu vermindern.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|