|
|
Rauschen aus gewonnenen Messdaten entfernen |
|
Alpenmerlin |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 07.04.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.04.2008, 10:57
Titel: Rauschen aus gewonnenen Messdaten entfernen
|
 |
|
 |
|
Hallo zusammen,
ich habe ein kleines, ferngesteuertes Fahrzeug mit Messinstrumenten ausgerüstet. Auf diese Weise konnte ich die gefahrene Geschwindigkeit aufzeichnen (s. Grafik). Wie man sieht enthalten die Messdaten ein Rauschen (breite Linien) und sind daher nur schwer auszuwerten, da eine genaue Geschwindigkeitsbestimmung zu bestimmten Zeitpunkt nicht möglich ist.
Ich würde nun mit Matlab gerne eine Kurve berechnen, die das Mittel der Werte wiedergibt und trotzdem die Messergebnisse nicht verfälscht., also eine genaue Kurve durch die Messdaten legen.
Polyval scheint mir bei dieser Sache jedenfalls nicht helfen zu können, bzw. ich habe keine sinnvollen Ergebnisse erhalten.
Die Daten stehen in einem 2D-Array (2 Spalten und 10000 Zeilen) bereit. Sie wurden aus einer ASCII-Datei ausgelesen.
Da ich grade nicht mehr weiter weiß, wäre ich für ein wenig Hilfe mehr als dankbar!
VIELEN DANK!
Gruß Alpenmerlin
Beschreibung: |
|
 Download |
Dateiname: |
geschwindigkeit.png |
Dateigröße: |
9.77 KB |
Heruntergeladen: |
3775 mal |
|
|
|
|
|
nschlange |

Ehrenmitglied
|
 |
Beiträge: 1.320
|
 |
|
 |
Anmeldedatum: 06.09.07
|
 |
|
 |
Wohnort: NRW
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 07.04.2008, 11:46
Titel:
|
 |
Hi, vielleicht kannst Du das geeignet tiefpassfiltern, weitere Suchbegriffe sind Savitzky-Golay (sgolay) oder gleitender Durchschnitt.
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
makl314 |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 23.01.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.04.2008, 12:45
Titel:
|
 |
Eine recht einfache Möglichkeit wäre es den Datenvektor mittels wavwrite() in eine *.wav-Datei umzuwandeln und dann mit einem Rauschfilter eines Muskprogramms (Audacity, Adobe Audition, CoolEdit, ...) das Rauschen rauszufiltern. Mit wavread() wieder einlesen und in einen Vektor speichern.
|
|
|
Alpenmerlin |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 07.04.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.04.2008, 12:52
Titel:
|
 |
Danke für die Antworten. Das mit dem Wav-Filter ist ganz praktisch, jedoch würde ich die Untersuchung der Daten gerne komplett in Matlab machen.
Einen Filter habe ich mir mittlerweile auch zusammengeschustert und der Funktioniert ganz gut. Werde mir das sgolay nochmal anschauen.
Sollte ich noch Problem haben, melde ich mich wieder.
Vielen Dank für die Hilfe!
Gruß Alpenmerlin
|
|
|
Tim |

Forum-Century
|
 |
Beiträge: 140
|
 |
|
 |
Anmeldedatum: 03.11.07
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: 2011b+aktuellstes Release
|
 |
|
|
 |
|
Verfasst am: 07.04.2008, 13:33
Titel:
|
 |
makl314 hat Folgendes geschrieben: |
Eine recht einfache Möglichkeit wäre es den Datenvektor mittels wavwrite() in eine *.wav-Datei umzuwandeln und dann mit einem Rauschfilter eines Muskprogramms (Audacity, Adobe Audition, CoolEdit, ...) das Rauschen rauszufiltern. Mit wavread() wieder einlesen und in einen Vektor speichern. |
In Matlab direkt filtern wäre ja viel zu straight forward, gell?
|
|
|
makl314 |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 23.01.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.04.2008, 19:00
Titel:
|
 |
Geht natürlich auch
Aber wieso einfach, wenn es kompliziert auch geht, wenn man mit den Filteralgorithmen (und fdatool) von MATLAB nicht so ganz vertraut ist, halte ich das schon für eine praktikable Lösung und die Filter der Audioprogramme leisten meist hervorragende Dienste.
|
|
|
Michaela |

Forum-Century
|
 |
Beiträge: 239
|
 |
|
 |
Anmeldedatum: 12.07.07
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: bis 2007b
|
 |
|
|
 |
|
Verfasst am: 07.04.2008, 23:17
Titel:
|
 |
Probiers mal mit medfilt1 (medfilt?), Du kannst auch angeben über wieviele Punkte jeweils gemittelt wird. Muss man ein wenig spielen.
_________________
---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.04.2008, 19:04
Titel:
|
 |
Wenn du die Signal-Processing-Toolbox hast, mein Vorschlag:
Bau dir einen kleinen Filter ("cheby2" wäre sicher nicht schlecht)
Danach die Funtkion "filtfilt" auf die Messergebnisse anwenden.
|
|
|
boer640 |

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 23.03.09
|
 |
|
 |
Wohnort: Magdeburg
|
 |
|
 |
Version: 2008b
|
 |
|
|
 |
|
Verfasst am: 06.04.2009, 15:25
Titel:
|
 |
|
|
|
|
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.
|
|