|
FLIP27 |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 27.11.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.11.2011, 10:02
Titel: Dämpfung programmieren
|
|
Hallo
Ich bin neu im Forum und habe gleich eine Frage. Ich nehme mit einer Messkarte und Sensoren über Matlab Werte auf, verarbeitet diese und gebe sie im Anschluss auch aus. Die aufgenommenen Werte "schwingen" ein wenig sodass der ausgegeben Wert nicht wirklich ruhig den gewünschten Wert anzeigt sondern immer ein wenig zittert. Aus diesem Grund würde ich gern das Signal ein wenig Dämpfen. Habe mir überlegt einfach den Mittelwert aus dem aktuellen und dem vorherigen Wert zu bilden. Das funktioniert auch halbwegs. Ich denke aber das es eine mathematisch elegantere Methode geben muss, oder irre ich mich da?
Schonmal vielen Dank.
P.S. hoffe das ist das richtige Unterforum. war mir nicht ganz sicher
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 27.11.2011, 11:00
Titel:
|
|
Hallo,
was du machst, ist an sich vollkommen legitim.
Ich würde es aber eher als "filtern" als als "dämpfen" bezeichnen.
Bessere Ergebnisse wirst du bekommen, wenn du entweder über mehr Werte filterst oder - noch besser - ein nach deinen Bedürfnissen ausgelegtes Filter verwendest.
Letztlich hat das dann allerdings auch weniger mit Mathematik als mit Signalverarbeitung zu tun.
Grüße,
Harald
|
|
|
FLIP27 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 27.11.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.11.2011, 12:21
Titel:
|
|
Super. Danke für die Antwort. Dann nennen wir es Filtern. Wenn ich mehr Werte nehme, verzerre ich ja die Ausgabe damit. Bei einem wert zurück geht das noch aber wenn man mehr nimmt wirds schon kritischer.
Wie mach ich das denn mit dem Filter?
|
|
|
Verschoben: 27.11.2011, 12:23 Uhr von Jan S Von Programmierung nach Signalverarbeitung |
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 27.11.2011, 12:52
Titel:
|
|
|
|
|
Es kommt darauf an, was für Signalanteile du genau filtern möchtest. Normalerweise macht man deshalb mittels FFT eine Untersuchung des Messignals im Frequenzbereich. Hier kann man dann genau festlegen, in welchem Frequenzbereich das Filter arbeiten soll.
Mittelwertfilter sind ja die einfachste Form von Tiefpassfiltern. Unter Úmständen kann man damit auch schon recht brauchbare Dämpfungen erreichen, wenn man die Filterlänge so wählt, dass eine Nullstelle genau bei der störenden Frequenz liegt. Hat man jedoch einen breiteren Störbereich, erzielt man mit anderen Filtern (IIR oder FIR) mit unterschiedlichen Koeffizienten (beim Mittelwertfilter sind alle Koeff gleich) deutlich bessere Ergebnisse.
Ich rate dir daher, zunächst die FFT durchzuführen und dann das Filter auszuwählen. Zum Thema FFT gibt es dieses Skript:
http://www.gomatlab.de/fft-umfassendes-beispiel-t777.html
Zum Thema Filter:
http://www.gomatlab.de/window-sinc-filter-t19156.html
oder eben Matlab eigene Toolboxen und Funktionen zum Filterdesign:
etc. Hier fragte jemand zum Thema Tiefpassfilter:
http://www.gomatlab.de/filtern-bestimmter-frequenzen-t21189.html
Im Forum sollte sich also genügend zu diesem Thema finden lassen!
|
|
|
|
|
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.
|
|