|
|
Signal glätten mit filter |
|
t.b. |

Forum-Fortgeschrittener
|
 |
Beiträge: 60
|
 |
|
 |
Anmeldedatum: 02.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 14:36
Titel: Signal glätten mit filter
|
 |
hallo. ich hoffe ihr könnt mir nochmal helfen.
ich möchte den verlauf einer funktion glätten mit einem linearen glättungsfilter. habe auch gesehen, dass es da den gaussfilter gaussfir gibt. aber ich verstehe nicht, was die parameter genau bedeuten. habe dann mal einige werte ausprobiert und mir das ergebnis angesehen. leider habe ich nix von einer glättung gesehen.
vielleicht könnt ihr mir da weiterhelfen.
viele grüße
|
|
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 16:41
Titel:
|
 |
Was hast du denn für ein Signal (Daten oder Bild bitte) und wie soll es geglättet werden? Vermutlich kann auch ein anderes Filter als Gauss verwendet werden. Nur weil die Frage nach diesem Filter heute zufällig aufkam, muss es nicht zwingend auch bei deiner Anwendung das richtige Filter sein
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 16:48
Titel:
|
 |
Hi,
ich weiss nicht ob es dir hilft aber eine Glättung kannst du auch mit einem gleitenden Mittelwert erreichen:
Gruß,
lilov
|
|
|
t.b. |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 60
|
 |
|
 |
Anmeldedatum: 02.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 17:08
Titel:
|
 |
Danke erstmal an euch beide.
Ich möchte ein Signal glätten und der Filter soll linear sein. Ich habe es so versucht:
Das geglättete Signal ist dann aber irgendwie verschoben nach rechts. Kann das sein, oder habe ich was falsch gemacht?
Und das mit dem gleitenden Mittelwert macht doch die Funktion smooth, oder nicht? Ich will einfach die Ergebnisse der linearen Filter vergleichen und gucken, welcher am besten passt.
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 17:31
Titel:
|
 |
Das Verschieben ist normal...das Filter muss sich ja erst mal einschwingen.
Es gibt noch andere lineare Filtertypen...warum muss es denn ein Gauss sein. Dieser wird vor allem bei der Impulsformung eingesetzt. Deshalb habe ich auch nach deinem Signal gefragt.
Am sinnvollsten ist es immer, sich das Frequenzspektrum des Signals anzuschauen und an Hand der auftretenden Frequenzanteile das Filter zu bestimmen. Das hier ist auch ein lineares Tiefpass Filter:
|
|
|
t.b. (als Gast) |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 17:39
Titel:
|
 |
[/quote]
Was ist genau die Filterordnung? Mir wurde gesagt, ich soll es erstmal mit einem Gaussfilter versuchen. Deshalb dieser Filter. Gibt es denn die Möglichkeit, einen Filter zu benutzen ohne das sich eine Verschiebung ergibt?
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 17:46
Titel:
|
 |
Nein...dann musst du eben den Einschwingvorgang wegschneiden um so dein Signal wieder nach links zu schieben.
Die Filterordnung bestimmt vor allem das Dämpfungsverhalten (wie stark geglättet wird). Du erhältst dann n+1 Filterkoeffizenzen jeweils für a und b. Probier einfach mal für n = 10 und 100 aus...da solltest du dann schon deutliche Unterschiede sehen.
|
|
|
t.b. (als Gast) |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 17:49
Titel:
|
 |
Ich werde das später ausprobieren. bin auf dem sprung. aber noch ne kurze frage. wenn ich den einschwung abschneide, mache ich das am anfang und am ende? und wieviel schneide ich ab?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 19.08.2011, 01:08
Titel:
|
 |
Hallo t.b.,
Schaue Dir mal FILTFILT an.
Gruß, Jan
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 19.08.2011, 02:15
Titel:
|
 |
Hallo,
Zitat: |
Das geglättete Signal ist dann aber irgendwie verschoben nach rechts. Kann das sein, oder habe ich was falsch gemacht?
|
Ich bin mir nicht ganz sicher ob das am Einschwingen liegt. Vielleicht liegt es auch einfach nur daran dass deine Daten bei der Faltung gepadded werden und dementsprechend sich natürlich auch die Indexe verschieben bzw. sich die Matrixgröße ändert. Ensprichen denn die Ergebnisse deinen Erwartungen wenn du die Matrixgröße nach der Faltung gleich belässt?
Zitat: |
Und das mit dem gleitenden Mittelwert macht doch die Funktion smooth, oder nicht? Ich will einfach die Ergebnisse der linearen Filter vergleichen und gucken, welcher am besten passt.
|
Lilovs Beispiel zeigt einen gleitenden Mittelwert mit variabler Filtergröße (WindowSize)!
MFG
Sco
|
|
|
t.b. |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 60
|
 |
|
 |
Anmeldedatum: 02.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.08.2011, 13:02
Titel:
|
 |
Könnt ihr viellciht noch sagen, warum man bei dem Code:
normalisieren muss?
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 26.08.2011, 13:24
Titel:
|
 |
Damit der Verstärkungsfaktor des Filters = 1 ist...ansonsten würde er das Signal verstärken.
|
|
|
t.b. |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 60
|
 |
|
 |
Anmeldedatum: 02.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 14:20
Titel:
|
 |
okay. danke erstmal für die antwort.
aber ich habe noch ne frage. in der matlab-hilfe zu gausswin steht, dass die Koeffizienten mit der Formel
[math] w(n)=e^{-0.5(\alpha \frac{n}{N/2} )^{2}} [\math]
berechnet wird, wobei n zwischen -N/2 und N/2 liegt.
Das verstehe ich irgendwie nicht. liegt n nicht zwischen 1 und N ???
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 20:07
Titel:
|
 |
Das Gaussfenster ist spiegelsymmetrisch an der y-Achse genau bei N/2, wobei N die Fensterlänge ist. In der Regel berechnet man daher nur die Häfte und spiegelt diesen Teil dann. Wichtig ist doch nur...N ist die Fensterlänge und alpha ein Formfaktor.
So wäre die Formel, wenn n von 0...N-1 geht
Damit kommt jetzt das gleich wie mit w=gausswin(N,alpha) raus.
|
|
|
t.b. |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 60
|
 |
|
 |
Anmeldedatum: 02.03.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.08.2011, 10:34
Titel:
|
 |
Hallo DSP,
ich habe jetzt mal beides geplottet, also
1)
2) v=gausswin(64,2.5)
Da kommt aber nicht das gleiche raus. Verstehe ich jetzt irgendwie nicht. Müsste es doch,oder?
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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 - 2025
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.
|
|