Noise rausrechnen?

Gast #1302507
Mein Sensor liefert zappelnde Werte (ca +- 0,5%) und da er relativ 
langsam ist (5 Werte in der Sekunde), kann ich nicht 1000 Werte lesen 
und den Mittelwert bilden.

Hat jemand C-Sourcecode für einen Filter? Suche mit Google führt zu 
Butterworth-Filter für Noise-Eliminiation. Ist das díe richtige 
Richtung?
Gast #1302734
Der mittelwert ist auch schon eine Art Filter, und nicht mal einer der 
schlechtesten. Wenn der Mittelwert also immer noch zu sehr schwankt, muß 
man für ein besseres Signal sorgen oder die art der Störungen genauer 
untersuchen. Ein "allgemeiner" Filter ohne extra informationen über die 
STörungen wird kaum besser.
Gast #1302770
> für ein besseres Signal sorgen oder die art der Störungen genauer
untersuchen

Der Sensor liefert, was er liefert, daran kann ich nichts ändern 
(digitales SPI-Interface).

Das Herumzappeln von 0.5% bis fast 0.75% ist problematisch für die damit 
verbundene Regelung.

Wenn ich das Signal mit meinem Smoothing-Filter (oben) glatt mache, ist 
das Zappeln zwar irgenwann weg, der Faktor muss nur extrem genug 
ausfallen, aber weil nur 3 - 5 Werte pro Sekunde kommen, ist das Signal 
(z.B. Sprung der Messwerte) danach zu stark verfälscht/verschoben

Ich hätte gerne einen Filter, der das mehr oder weniger symmetrische 
Zappeln nach oben und unten filtert, ohne die Tendenz des Signals so 
stark zu verändern/verzögern.

(mir fallen als Laie "fuzzy"-Lösungen ein, z.B. zwei aufeinanderfolgede 
Anstiege => Filterung reduzieren), aber eine mathematische Lösung wäre 
mir lieber.
Gast #1302910
Naja. Wenn man das Sensor signal kuenstlich langsam macht, der Prozess 
aber schnell ist, so bekommt der regler ein Problem. Falls der Prozess 
noch langsamer ist, so wuerde ich das Raschen auf den Regler geben. Die 
Strecke mach das dann schon weg.
Gast #1302965
Irgendwie sollten noch ein paar grundlegene physikalische Gesetze 
berücksichtigt werden. Wenn Ihr Rauschen wegbekomen wollt dann geht das 
NUR wenn Ihr i) die "Integrationszeit" länger macht wodurch die 
Responsezeit automatisch langsammer wird oder Ihr ii) irgendetwas über 
das Raussignal wisst was man ausnutzen könnte (es also kein 
statistisches Rauschen ist). Alle anderen Zauberlösungen können nicht 
gehen.

Wenn dein Zappeln mit einer gewissen Frequenz geschieht (bei 50 oder 
100Hz würde man soetwas Brumm nennen), dann hilft zB ein Notchfilter 
oder so, ansonsten bleibt nur Sensorsignal verbessern.

Die 0.5% sind hoffentlich nicht nur das Ergebnis eines 8-Bit Wandlers?

Wenn der Prozess langsamer wäre dann würde die Regelung ja keine 
Probleme machen => offensichtlich ist bei Mirko der Prozess zu schnell, 
bzw. die Regelung zu langsam...

Wie teils schon gesagt, Mirko, dir bleibt nichts anderes als dein Signal 
zu verbessern, mehr Messpunkte pro Zeit zu bekommen, oder ein langsames 
System zu akzeptieren (wenn alles in Echtzeit gehen soll).

Olli

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.